First commit

This commit is contained in:
2021-03-07 05:58:59 +01:00
committed by Andreas Schaafsma
commit 6e1a5f9fe5
18475 changed files with 3309357 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<div class="row">
<div class="col-md-3">
<h5>Menu</h5>
<ul class="nav nav-pills nav-stacked">
@for (url in documentationPages.keys()) {
<li @if(url==pageUrl){ class="active" }><a href="@url">@documentationPages.get(url)</a></li>
}
</ul>
</div>
<div class="col-md-9">
@content
</div>
</div>

View File

@@ -0,0 +1,58 @@
<div class="section homepage-banner">
<div class="jumbotron">
<div class="container">
<h1>
<img src="/img/haxe-logo.svg" class="logo" onerror="this.src='/img/haxe-logo.png'" width="80" height="80" />
Haxelib
</h1>
<p class="lead">
Haxelib is the easiest way to find libraries and code for your Haxe project - and the best place you can share your code with others in the Haxe ecosystem.
Haxelib is the package manager for the Haxe Toolkit.
</p>
<pre><code>@exampleCode</code></pre>
<div class="btn-toolbar">
<a class="btn btn-primary" href="/documentation/using-haxelib/">Using Haxelib</a>
<a class="btn btn-default" href="/t/"><i class="fa fa-tags"></i> Browse By Tag</a>
<a class="btn btn-default" href="/u/"><i class="fa fa-user"></i> Browse By User</a>
<a class="btn btn-default" href="/all/"><i class="fa fa-star"></i> View All Haxelibs</a>
<a class="btn btn-default" href="/documentation/creating-a-haxelib-package/">Creating a Haxelib Package</a>
</div>
</div>
</div>
</div>
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-3">
<h4><i class="fa fa-tags"></i> Popular Tags</h4>
<ul class="list-unstyled">
@for( t in tags ) {
<li><i class="fa fa-tag"></i> <a href="/t/@t.tag/"><strong>@t.tag</strong> <span class="badge">@t.count</span></a></li>
}
</ul>
</div>
<!-- <div class="col-md-5">
<h4><i class="fa fa-star"></i> Featured Project</h4>
<h5><a href="/p/munit/">munit</a></h5>
<p class="lead">MassiveUnit, or munit, is a full featured unit testing framework by Massive Interactive.</p>
<p>With support for AS3, JS, Neko and CPP, automatic test importers, support for ignoring tests, asynchronous tests and more, it's a great library.</p>
<pre><code>haxelib install munit</code></pre>
<div class="btn-toolbar">
<a class="btn btn-primary" href="/p/munit/">View project page</a>
<a class="btn btn-default" href="#">View older featured projects</a>
</div>
</div> -->
<div class="col-md-9">
<h4><i class="fa fa-paperclip"></i> Recently Updated</h4>
<div>
@for( update in latestProjects ) {
<p>
<strong><a href="/p/@update.p.name/@update.v.name/">@update.p.name</a>:</strong> @update.p.description
<br /><strong>@update.v.name:</strong> @update.v.comments
</p>
}
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,26 @@
<h1><i class="fa @icon"></i> @title</h1>
<p class="lead">@description</p>
<table class="table table-compact table-hover project-list">
<thead>
<tr>
<th>Project</th>
<th>Description</th>
<th>Version</th>
<th>Downloads</th>
</tr>
</thead>
<tbody>
@for (p in projects) {
<tr>
<th>
<a href="/p/@p.name/">@p.name</a>
<br/><small><a href="/u/@p.author/">@@@p.author</a></small>
</th>
<td>@p.description</td>
<td>@p.version</td>
<td>@p.downloads</td>
</tr>
}
</tbody>
</table>

View File

@@ -0,0 +1,48 @@
<h1><i class="fa fa-search"></i> @title</h1>
<p class="lead">@description</p>
<form action="/search/" method="GET">
<div class="input-group">
<input type="search" name="v" class="form-control" placeholder="Search Haxelib for..." @if(searchTerm!=null){ value="@searchTerm" } />
<span class="input-group-btn">
<input type="submit" class="btn btn-primary" value="Search" />
</span>
</div>
</form>
@if (projects!=null && projects.length>0) {
<table class="table table-compact table-hover">
<thead>
<tr>
<th>Project</th>
<th>Description</th>
<th>Version</th>
<th>Downloads</th>
</tr>
</thead>
<tbody>
@for (p in projects) {
<tr>
<th>
<a href="/p/@p.name/">@p.name</a>
<br/><small>(By <a href="/u/@p.author/">@@@p.author</a>)</small>
</th>
<td>@p.description</td>
<td>@p.version</td>
<td>@p.downloads</td>
</tr>
}
</tbody>
</table>
}
else if (projects!=null && projects.length==0) {
<p>No search results found.</p>
}
<p class="alert alert-info">
<a href="https://www.google.com/search?q=site:lib.haxe.org @searchTerm">
<strong>Not found what you are looking for?</strong>
Search Haxelib for "@searchTerm" using Google instead.
</a>
</p>

View File

@@ -0,0 +1,30 @@
<h1><i class="fa fa-tags"></i> @title</h1>
<p class="lead">@description</p>
<div class="row">
<div class="col-lg-4">
<table class="table table-compact table-hover">
<thead>
<tr>
<th>Tag</th>
<th>Projects</th>
</tr>
</thead>
<tbody>
@for (t in tags) {
<tr>
<th><i class="fa fa-tag"></i> <a href="/t/@t.tag/">@t.tag</a></th>
<td>@t.count</td>
</tr>
}
</tbody>
</table>
</div>
<div class="col-lg-8">
<div class="tag-cloud text-center">
@for (t in tagCloud) {
<a href="/t/@t.tag/" style="font-size: @(t.size)px">@t.tag</a>
}
</div>
</div>
</div>

View File

@@ -0,0 +1,167 @@
<!doctype html>
<html id="page">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>@title</title>
<link href="/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="/bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/css/style.css"/><!-- TODO: revert style.css to be same as haxe.org? -->
<!--<link rel="stylesheet" type="text/css" href="/css/haxelib.css"/>-->
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600,600italic,400' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Source+Code+Pro' rel='stylesheet' type='text/css'>
<!-- Google -->
<link rel="author" href="https://plus.google.com/113704686911055424796/posts"/>
<link rel="publisher" href="https://plus.google.com/113704686911055424796/"/>
<meta name="description" content="@description" />
<!-- Twitter card -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:creator" content="@@haxelang" />
<meta name="twitter:site" content="@@haxelang" />
<meta name="twitter:title" content="@title" />
<meta name="twitter:description" value="@description">
<!-- OpenGraph -->
<meta property="og:title" content="@title" />
<meta property="og:type" content="article" />
<meta property="og:url" content="@pageUrl" />
<meta property="og:image" content="http://haxe.org/img/haxe-logo.png" />
<meta property="og:description" content="@description" />
<meta property="og:site_name" content="Haxe - The Cross-platform Toolkit" />
<!-- Facebook -->
</head>
<body>
<div class="section nav">
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://haxe.org/"><img src="http://haxe.org/img/haxe-logo-horizontal-on-dark.svg" width="107" height="21" alt="Haxe Logo" title="Go to Haxe.org Website" onerror="this.src='/img/haxe-logo-horizontal-on-dark.png'" /></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="/">Haxelib <span class="sr-only">(current)</span></a></li>
<li class="dropdown">
<a href="/all" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Browse Projects <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="/t/"><i class="fa fa-tags"></i> Browse by Tag</a></li>
<li><a href="/all/"><i class="fa fa-star"></i> Browse by Popularity</a></li>
<li><a href="/u/"><i class="fa fa-user"></i> Browse by Author</a></li>
<!--<li><a href="/recent/">Recently Updated</a></li>-->
<!--<li class="divider"></li>-->
</ul>
</li>
<li class="dropdown">
<a href="/documentation" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Documentation <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
@for (url in documentationPages.keys()) {
<li @if(url==currentPage){ class="active" }><a href="@url">@documentationPages.get(url)</a></li>
}
<li class="divider"></li>
<li><a href="/rss/"><i class="fa fa-rss"></i> Recent Updates RSS Feed</a></li>
<li><a href="http://lib.haxe.org/legacy/"><i class="fa fa-folder-open-o"></i> Haxe 2 Haxelib repository</a></li>
</ul>
</li>
</ul>
<form action="/search/" method="GET" class="navbar-form navbar-right visible-lg" role="search">
<div class="form-group search">
<div class="input-group">
<input type="text" name="v" class="form-control" placeholder="Search Haxelib for..." @if(searchTerm!=null){ value="@searchTerm" } />
<span class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</span>
</div>
<!--<div id="cse-search-form" style="width: 100%;"></div>-->
<!--<script src="http://www.google.com/jsapi" type="text/javascript"></script>-->
<!--<script type="text/javascript">-->
<!--google.load('search', '1', {language : 'en', style : google.loader.themes.V2_DEFAULT});-->
<!--google.setOnLoadCallback(function() {-->
<!--var customSearchOptions = {}; var customSearchControl = new google.search.CustomSearchControl(-->
<!--'008143996983163686627:ohovhuovssi', customSearchOptions);-->
<!--customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);-->
<!--var options = new google.search.DrawOptions();-->
<!--options.setAutoComplete(true);-->
<!--customSearchControl.setAutoCompletionId('008143996983163686627:ohovhuovssi+qptype:1');-->
<!--options.enableSearchboxOnly("/search", "s");-->
<!--customSearchControl.draw('cse-search-form', options);-->
<!--}, true);-->
<!--</script>-->
</div>
<!--<div class="form-group">-->
<!--<input type="text" class="form-control" placeholder="Search">-->
<!--</div>-->
<!--<button type="submit" class="btn btn-default">Submit</button>-->
</form>
<ul class="nav navbar-nav navbar-right">
<li class="hidden-lg"><a href="/search"><i class="fa fa-search"></i> Search</a></li>
<!-- TODO: some login / logout type links. -->
<!--<li class="dropdown">-->
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>-->
<!--<ul class="dropdown-menu" role="menu">-->
<!--<li><a href="#">Action</a></li>-->
<!--<li><a href="#">Another action</a></li>-->
<!--<li><a href="#">Something else here</a></li>-->
<!--<li class="divider"></li>-->
<!--<li><a href="#">Separated link</a></li>-->
<!--</ul>-->
<!--</li>-->
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
</div>
<div class="page-wrap">
@if( useWrapper ) {
<div class="section">
<div class="container">
@viewContent
</div>
</div>
}
else {
@viewContent
}
</div>
<footer class="section dark site-footer">
<div class="container">
<div class="copyright">
<p>&copy;@todaysDate.getFullYear()
<a href="http://haxe.org/foundation/" title="Haxe Foundation Website" class="hf-link">Haxe Foundation</a>
</div>
</div>
</footer>
<script src="/bower_components/jquery/dist/jquery.min.js"></script>
<script src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="//haxe.org/js/client.js"></script>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-N6H4RQ"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NXV3XR');</script>
<!-- End Google Tag Manager -->
</body>

View File

@@ -0,0 +1,2 @@
<h1>Api Docs coming soon.</h1>
<p>Hopefully using the <a href="http://api.haxe.org/v/dev/haxe/crypto/Base64.html">New Dox Template</a>.</p>

View File

@@ -0,0 +1,73 @@
<h1>@project <small>@version</small></h1>
<p class="lead">@info.desc</p>
<div class="panel panel-default">
<div class="panel-heading">
<div class="btn-toolbar pull-right">
@if( type=="text" && extension=="hx" ) { <a href="#" class="btn btn-default"><i class="fa fa-cogs"></i> View API Docs</a> }
@if( type!="directory" ) { <a href="@downloadLink" class="btn btn-default"><i class="fa fa-download"></i> Download</a> }
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
@version <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
@for ( v in info.versions ) {
<li @if(v.name==version){ class="active" }><a href="@baseUri@project/@v.name/files/@filePath">@v.name</a></li>
}
</ul>
</div>
<a href="@baseUri@project/@version" class="btn btn-default"><i class="fa fa-star"></i> View Project</a>
</div>
<ol class="breadcrumb">
@{
var i = 0;
var breadcrumbBase = baseUri+project+"/"+version+"/files";
}
<li>
@if ( type=="directory" ) { <i class="fa fa-folder"></i> }
else if ( type=="text" ) { <i class="fa fa-file"></i> }
</li>
<li><a href="@breadcrumbBase">@project : @version</a></li>
@while(i < fileParts.length) {
@if (i+1<fileParts.length){
<li><a href="@breadcrumbBase/@fileParts.slice(0,i+1).join('/')">@fileParts[i]</a></li>
}
else {
<li class="active">@fileParts[i]</li>
}
@{ i++; }
}
</ol>
</div>
@if ( type=="directory" ) {
<!-- Show the directory list -->
<div class="list-group">
@for (dir in dirListing) { <a href="@currentDir/@dir/" class="list-group-item"><i class="fa fa-folder"></i> @dir/</a> }
@for (file in fileListing) { <a href="@currentDir/@file" class="list-group-item" @if(extensionAllowed(file)==false) { rel="nofollow"}><i class="fa fa-file"></i> @file</a> }
</div>
}
else if ( type=="text" ) {
<!-- Show the content -->
<pre class="panel-body"><code class="prettyprint haxe">@fileContent</code></pre>
<!--<div class="panel-body">-->
<!--</div>-->
}
else if ( type=="markdown" ) {
<div class="panel-body">
@fileContent
</div>
}
else if ( type=="img" ) {
<!-- Display an image -->
<div class="panel-body text-center">
<img src="@downloadLink" alt="Viewing image @filename... sorry we don't have a better description"/>
</div>
}
else {
<!-- Show a link to download the file -->
<div class="panel-body text-center">
<a href="@downloadLink" class="btn btn-primary btn-large"><i class="fa fa-download"></i> Download @filename (@size)</a>
</div>
}
</div>

View File

@@ -0,0 +1,96 @@
<div class="row">
<div class="col-lg-8">
<!-- Title and description -->
<h1>@project <small>@version</small></h1>
<p class="lead">@info.desc</p>
<p><small>Released @versionDate.</small></p>
<!-- Installation Instruction -->
<p></p>
<div class="well">
<p>To install, run:</p>
<pre><code>haxelib install @project @version</code></pre>
<p>See <a href="/documentation/using-haxelib/">using Haxelib</a> in Haxelib documentation for more information.</p>
</div>
<!-- Links and buttons -->
<div class="btn-toolbar">
<a class="btn btn-primary" href="@downloadUrl"><i class="fa fa-download"></i> <strong>Download @project:@version</strong></a>
<a class="btn btn-default" href="/p/@project/versions/">Other Versions</a>
<a class="btn btn-default" href="/p/@project/@version/files/">Files</a>
<!-- <a class="btn btn-default" href="/p/@project/@version/doc/">API Docs</a> -->
<a class="btn btn-default" href="@info.website">Project Website</a>
</div>
<!-- Warning if they're looking at an old version -->
<p></p>
@if( version!=info.curversion ) {
<p class="alert alert-warning">This is not the latest stable version of @project. See version <a href="/p/@project/@info.curversion/">@info.curversion</a> for the latest version.</p>
}
</div>
<div class="col-lg-4">
<!-- Project details -->
<div class="table-responsive">
<table class="table table-condensed">
<tr class="owner"><th>Maintainer</th><td><a href="/u/@info.owner">@info.owner</a></td></tr>
<tr class="url"><th>Website</th><td><a href="@info.website">@info.website</a></td></tr>
<tr class="social">
<th>Social</th>
<td>
<div class="hidden" id="github-buttons">
<iframe id="github-button-star" src="" frameborder="0" scrolling="0" width="100" height="20"></iframe>
<iframe id="github-button-fork" src="" frameborder="0" scrolling="0" width="100" height="20"></iframe>
</div>
</td>
</tr>
<tr class="version"><th>Current version</th><td>@info.curversion</td></tr>
<tr class="owner"><th>Statistics</th><td>Installed <strong>@info.downloads</strong> times</td></tr>
<tr class="license"><th>License</th><td>@info.license</td></tr>
<tr class="tags">
<th>Tags</th>
<td>
@{var i = 0;}
@for( t in info.tags ) {
@{i++;}
<a href="/t/@t">@t</a>@if( i<info.tags.length ){, }
}
</td>
</tr>
</table>
</div>
</div>
</div>
<hr/>
@if (readme!="") {
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title"><i class="fa fa-book"></i> README.md</h3>
</div>
<article class="panel-body readme site-content">
@readme
</article>
</div>
}
<script>
var website = "@info.website";
if (website.indexOf("github.com") > -1)
{
var githubInfo = website.split("github.com/").pop().split("/");
var githubUser = githubInfo[0];
var githubRepo = githubInfo[1];
document.getElementById("github-button-star").src = "https://ghbtns.com/github-btn.html?user="+githubUser+"&repo="+githubRepo+"&type=star&count=true";
document.getElementById("github-button-fork").src = "https://ghbtns.com/github-btn.html?user="+githubUser+"&repo="+githubRepo+"&type=fork&count=true";
document.getElementById("github-buttons").className = "show";
}
</script>

View File

@@ -0,0 +1,41 @@
<div>
<h1>@project <small>All Versions</small></h1>
<p class="lead">@info.desc</p>
<div class="btn-toolbar">
<a class="btn btn-primary" href="/p/@project/@info.curversion/">Current Version</a>
<a class="btn btn-default" href="@info.website">Project Website</a>
</div>
<p></p>
<p><a href="@info.website">@info.website</a></p>
</div>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Version</th>
<th>Release Notes</th>
<th>Install</th>
<th>Downloads</th>
</tr>
</thead>
<tbody>
@for (v in allVersions) {
<tr>
<td>
<a href="/p/@project/@v.name/" class="text-nowrap">@v.name</a>
<br /><small>@v.date.substr(0,10)</small>
</td>
<td>@v.comments</td>
<td><code class="text-nowrap">haxelib install @project @v.name</code></td>
<td>@v.downloads</td>
<!--<td>-->
<!--<div class="btn-toolbar btn-group">-->
<!--<a class="btn btn-small btn-default" href="/p/@project/@v.name/">View Version</a>-->
<!--<a class="btn btn-small btn-default" href="/p/@project/@v.name/files/">Files</a>-->
<!--<a class="btn btn-small btn-default" href="/p/@project/@v.name/api/">API Docs</a>-->
<!--</div>-->
<!--</td>-->
</tr>
}
</tbody>
</table>

View File

@@ -0,0 +1,28 @@
<h1><i class="fa fa-user"></i> @title</h1>
<table class="table table-condensed">
<thead>
<tr>
<th colspan="3">User</th>
<th>Projects</th>
</tr>
</thead>
<tbody>
@for (u in list) {
<tr>
<td><img src="//www.gravatar.com/avatar/@(u.emailHash).jpg?s=150" class="img-circle" width="48" height="48" alt="Avatar of @u.user.name" /></td>
<th><a href="/u/@u.user.name/">@u.user.name</a></th>
<td>@u.user.fullname</td>
<td>
<p>
@{i = 0;}
@for (p in u.projects) {
@{i++;}
<strong><a href="/p/@p.name">@p.name</a></strong>@if(i<u.projects.length){,}
}
</p>
</td>
</tr>
}
</tbody>
</table>

View File

@@ -0,0 +1,33 @@
<div class="user-profile well">
<div class="pull-left">
<img src="//www.gravatar.com/avatar/@(emailHash).jpg?s=150" class="img-circle avatar" width="150" height="150" alt="Avatar of @user" />
</div>
<h1 class="title"><i class="fa fa-user"></i> @user.name <small>haxelib member</small></h1>
<div class="clearfix"></div><br/>
<table class="table">
<tr><th width="190"><strong>Full name</strong></th><td>@user.fullname</td></tr>
<tr><th><strong>Statistics</strong></th><td>Contributes to <strong>@projects.length</strong> project@if(projects.length!=1){s}</td></tr>
</table>
</div>
<h2>Projects</h2>
<div class="projects">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th colspan="2">Project</th>
<th>Downloads</th>
</tr>
</thead>
@for( p in projects ) {
<tr>
<th><a href="/p/@p.name" class="text-nowrap">@p.name</a></th>
<td>@p.description</td>
<td>@p.downloads</td>
</tr>
}
</table>
</div>
</div>