Check-in [f06d1aeef8]
Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Introduce Trove tag selection on page_tags, tags: removed some natural languages, added new programming languages. Add JS .action links in submit page. HTML5shim for IE in header. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f06d1aeef81b6fdf511a62896672a92c |
User & Date: | mario 2014-07-27 04:05:17 |
Context
2014-07-27
| ||
22:51 | Fixed feed aliases (due to RewriteRule recursion) check-in: 92a88f20e4 user: mario tags: trunk | |
04:05 | Introduce Trove tag selection on page_tags, tags: removed some natural languages, added new programming languages. Add JS .action links in submit page. HTML5shim for IE in header. check-in: f06d1aeef8 user: mario tags: trunk | |
04:02 | Utilize new :* expression placeholder for search query (binding though does not work for count()=? for some reason) check-in: 86b7fdab70 user: mario tags: trunk | |
Changes
Changes to aux.php.
︙ | ︙ | |||
14 15 16 17 18 19 20 | #-- Additional input filters // Project names may be alphanumeric, and contain dashes function proj_name($s) { | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #-- Additional input filters // Project names may be alphanumeric, and contain dashes function proj_name($s) { return preg_replace("/[^a-z0-9-_]+|^[^a-z0-9]+|\W+$|(?<=[-_])[-_]+/", "", strtolower($s)); } // Tags is a comma-separated list, yet sometimes delimited with something else; normalize.. function f_tags($s) { return preg_replace( # exception for "c++" and "c#" ["~[-_.:/]+~", "/(([cflje]#|c\+\+)(?=[\s,-]))?[+#]*/", "/[,;|]+/", "/[^a-z0-9,+#\s-]+/", "/[,\s]+/", "/^\W+|\W+$/"], [ "-", "$1", ",", " ", ", " , "" ], strtolower($s) ); } #-- Template helpers |
︙ | ︙ |
Changes to doc/mktrove.php.
︙ | ︙ | |||
60 61 62 63 64 65 66 | print var_export54(array( "Topic" => $TREE["Topic"], "Programming Language" => $TREE["Programming Language"], "Environment" => $TREE["Environment"], "Framework" => $TREE["Framework"], "Operating System" => $TREE["Operating System"], "Audience" => $TREE["Audience"], | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | print var_export54(array( "Topic" => $TREE["Topic"], "Programming Language" => $TREE["Programming Language"], "Environment" => $TREE["Environment"], "Framework" => $TREE["Framework"], "Operating System" => $TREE["Operating System"], "Audience" => $TREE["Audience"], # "Natural" => $TREE["Natural"], )); // save mapping onto py-trove file_put_contents(__DIR__."/trove.pypi-map.csv", json_encode($TMAP, JSON_PRETTY_PRINT)); #-- le functions |
︙ | ︙ |
Changes to doc/trove.ods.
cannot compute difference between binary files
Changes to freshcode.css.
1 2 3 4 5 | /** * api: css * type: stylesheet * title: freshcode.club layout+style * description: Simulates the late freecode.com layout and looks; well mostly. | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | /** * api: css * type: stylesheet * title: freshcode.club layout+style * description: Simulates the late freecode.com layout and looks; well mostly. * version: 0.6.1 * * Centered two-pane layout. The #main section is usually 33% of the screen width, * while the #sidebar floats at the right. They're repositioned only using padding: * to the outer html,body{}. * */ |
︙ | ︙ | |||
206 207 208 209 210 211 212 213 214 215 216 217 218 219 | font-weight: 200; font-size: 85%; color: #777; } #main label.inline { font-weight: 200; margin: 4pt; } #main label.inline input { display: inline; } /** * Login box etc. * */ #main .box { margin: 20pt; | > > > > | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | font-weight: 200; font-size: 85%; color: #777; } #main label.inline { font-weight: 200; margin: 4pt; } #main label.inline input { display: inline; } .action { color: #697; border-bottom: 1px dashed #5d7; } /** * Login box etc. * */ #main .box { margin: 20pt; |
︙ | ︙ | |||
481 482 483 484 485 486 487 | * Submit form: trove select list (<ul> instead of <select> * */ #trove_tags { margin: 0; padding: 0; display: inline-block; position: relative; | | > > > > > > > > > > | 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 | * Submit form: trove select list (<ul> instead of <select> * */ #trove_tags { margin: 0; padding: 0; display: inline-block; position: relative; top: -70px; width: 175px; height: 170px; overflow-y: scroll; overflow-x: hidden; border: 1px solid #ccc; font-size: 85%; } #trove_tags.pick-tags { width: 220px; height: 950px; top: 0px; border: none; font-size: 92%; } #trove_tags span { display: block; margin: 0; padding: 0; padding-left: 10px; font-weight: 200; } #trove_tags > span { padding: 0; } #trove_tags span > span { background: url("img/dotleader.png") no-repeat; } #trove_tags span.optgroup { font-weight: 900; } #trove_tags span > span.option:hover, #trove_tags span.optgroup > b:hover { background: #ccf; } #trove_tags .option.selected, #tag_cloud a.selected { background: #fba; } /** * Page footer * */ |
︙ | ︙ |
Changes to gimmicks.js.
1 2 3 4 | /** * api: jquery * title: UI behaviour * description: Well, just client-side interface features | | | > > | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /** * api: jquery * title: UI behaviour * description: Well, just client-side interface features * version: 0.3 * depends: jquery, jquery-ui * * Collects a few event callbacks to toggle and trigger all the things. * → Compacted entries (.trimmed class) * → Trove tags * → Injection to submit_form input box * → Or appending to links on page_tags cloud * → Action links (green dotted underline) * → Lock entry in submit_form * → Injecting $version placeholder in URLs * → Sidebar box for submit_imports * */ // DOM ready $(document).ready(function(){ |
︙ | ︙ | |||
25 26 27 28 29 30 31 | // Likewise for compacted news feeds in #sidebar $(".forum .entry").one("click", function(){ $(this).find(".excerpt, .content, .funcs").toggleClass("trimmed"); }); | | | | | > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | // Likewise for compacted news feeds in #sidebar $(".forum .entry").one("click", function(){ $(this).find(".excerpt, .content, .funcs").toggleClass("trimmed"); }); // Trove tags add to input#tags field $("#trove_tags.add-tags .option").click(function(){ var $tags = $("#tags"); var prev = $tags.val(); $tags.val(prev + (prev.length ? ", " : "") + $(this).data("tag")); }); // Trove tags highlight in page_tags cloud $("#trove_tags.pick-tags .option").click(function(){ // highlight in trove box $(this).toggleClass("selected"); var tag = $(this).data("tag"); // and in tag cloud $("#tag_cloud a:contains('"+tag+"')").toggleClass("selected"); }); // Append trove[]= selection to any clicked links in tag cloud $("#tag_cloud a").click(function(){ // array from selected tags var tags = $("#trove_tags b.selected, #trove_tags .option.selected").map(function(){ return $(this).data("tag"); }).get(); // append to current link if (tags.length) { this.href += "&trove[]=" + tags.join("&trove[]="); } }); // submit_form: lock entry $(".action.lock-entry").click(function(){ var $lock = $("input[name='lock']"); if (!$lock.val().length) { $lock.val($lock.val("placeholder")); } }); // submit_form: apply $version placeholder in URLs $(".action.version-placeholder").click(function(){ var $input = $(this).parent().parent().find("input, textarea").eq(0); var version = $("input[name='version']").val(); if (version.length) { $input.val($input.val().replace(version, "$version")); } }); // submit_form: apply $version placeholder in URLs $(".action.submit-import").click(function(){ $("#sidebar section").eq(0).hide(); $("#sidebar .submit-import").fadeToggle("trimmed"); }); }); |
Changes to index.php.
1 2 3 4 5 | <?php /** * api: php * title: Freshcode.club * description: FLOSS software release tracking website | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php /** * api: php * title: Freshcode.club * description: FLOSS software release tracking website * version: 0.5.2 * author: mario * license: AGPL * * Implements a freshmeat/freecode-like directory for open source * release publishing / tracking. * */ |
︙ | ︙ |
lib/htmlpurifier.phar became a regular file.
cannot compute difference between binary files
Changes to page_projects.php.
︙ | ︙ | |||
47 48 49 50 51 52 53 | include("template/projects_sidebar.php"); include("template/projects_description.php"); #-- Display all other released versions ?> <article class=release-list> <h4>Recent Releases</h4> <?php do { | < | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | include("template/projects_sidebar.php"); include("template/projects_description.php"); #-- Display all other released versions ?> <article class=release-list> <h4>Recent Releases</h4> <?php do { include("template/projects_release_entry.php"); } while ($entry = $releases->fetch() and prepare_output($entry) + 1); ?> </article> <?php // html tail include("template/bottom.php"); } |
︙ | ︙ |
Changes to page_tags.php.
︙ | ︙ | |||
12 13 14 15 16 17 18 | * Currently just outputs a plain search result list. Later versions * should delegate this to a proper /search feature. * */ include("template/header.php"); | < | | | < | | | | < < | < < < < < < < < | | < | < | > | | > | | | | | | | | | | | | | | | | | | | | | | | | | < | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * Currently just outputs a plain search result list. Later versions * should delegate this to a proper /search feature. * */ include("template/header.php"); #-- sidebar with Trove list ?><aside id=sidebar> <div id=trove_tags class=pick-tags> <?php print tags::trove_select(tags::$tree); ?> </div> </aside><?php #-- print tag cloud ?> <section id=main> <h2>Tags</h2> <p id=tag_cloud> <?php // Query `tags` table to generate a cloud $tags = db("SELECT COUNT(name) AS cnt, tag FROM tags GROUP BY tag")->fetchAll(); $count = array_column($tags, "cnt"); if ($count) { $avg = count($count) / array_sum($count); // Print tag cloud foreach ($tags as $t) { // average $n = $q = 1.0*$t["cnt"] / 1.0*$avg; /** * Qantify * - Values 0.1 - 20.0 are transitioned into the range 0.3 - 2.0 */ $q = atan($q * 0.75 + 0.1) * 1.55; // font size $q = sprintf("%.1f", $q * 100); // output print " <a href=\"/search?tag=" . urlencode($t["tag"]) . "\" class=tag style=\"font-size: $q%;\"> $t[tag]</a> "; } } ?></p><?php include("template/bottom.php"); ?> |
Changes to tags.php.
1 2 3 4 5 | <?php /** * API: freshcode * title: Tags and Trove * description: Provides categorization backend for tree-mapped tags and Trove grouping. | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php /** * API: freshcode * title: Tags and Trove * description: Provides categorization backend for tree-mapped tags and Trove grouping. * version: 0.2 * type: library * category: taxonomy * doc: http://fossil.include-once.org/freshcode/wiki/Trove+map * license: mixed * * This module provides major tags in a tree, which serves as base for trove categories. * |
︙ | ︙ | |||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 | "GNU LGPLv3" => "GNU Library/Lesser General Public License 3.0", "Affero GPL" => "Affero GNU Public License 2.0", "Affero GPLv3" => "GNU Affero General Public License v3", "AFL" => "Academic Free License 3.0", "APL" => "Adaptive Public License", "APSL" => "Apple Public Source License", "AAL" => "Attribution Assurance Licenses", "BSL" => "Boost Software License", "CECILL" => "CeCILL License 2.1", "CATOSL" => "Computer Associates Trusted Open Source License 1.1", "CDDL" => "Common Development and Distribution License 1.0", "CPAL" => "Common Public Attribution License 1.0", "CUA" => "CUA Office Public License Version 1.0", "EUDatagrid" => "EU DataGrid Software License", | > | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | "GNU LGPLv3" => "GNU Library/Lesser General Public License 3.0", "Affero GPL" => "Affero GNU Public License 2.0", "Affero GPLv3" => "GNU Affero General Public License v3", "AFL" => "Academic Free License 3.0", "APL" => "Adaptive Public License", "APSL" => "Apple Public Source License", "AAL" => "Attribution Assurance Licenses", "BSDL-4" => "BSD 4-Clause 'Old' License", "BSL" => "Boost Software License", "CECILL" => "CeCILL License 2.1", "CATOSL" => "Computer Associates Trusted Open Source License 1.1", "CDDL" => "Common Development and Distribution License 1.0", "CPAL" => "Common Public Attribution License 1.0", "CUA" => "CUA Office Public License Version 1.0", "EUDatagrid" => "EU DataGrid Software License", |
︙ | ︙ | |||
74 75 76 77 78 79 80 | "HPND" => "Historical Permission Notice and Disclaimer", "IPL" => "IBM Public License 1.0", "IPA" => "IPA Font License", "ISC" => "ISC License", "LPPL" => "LaTeX Project Public License 1.3c", "LPL" => "Lucent Public License Version 1.02", "MirOS" => "MirOS Licence", | | < | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | "HPND" => "Historical Permission Notice and Disclaimer", "IPL" => "IBM Public License 1.0", "IPA" => "IPA Font License", "ISC" => "ISC License", "LPPL" => "LaTeX Project Public License 1.3c", "LPL" => "Lucent Public License Version 1.02", "MirOS" => "MirOS Licence", "MS-RL" => "Microsoft Reciprocal License", "Motosoto" => "Motosoto License", "Multics" => "Multics License", "NASA" => "NASA Open Source Agreement 1.3", "NTP" => "NTP License", "Naumen" => "Naumen Public License", "NGPL" => "Nethack General Public License", "Nokia" => "Nokia Open Source License", |
︙ | ︙ | |||
126 127 128 129 130 131 132 | /** * Tag tree. * */ static public $tree = | | < > | > | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | /** * Tag tree. * */ static public $tree = [ "Topic" => [ "Adaptive Technologies", "Artistic Software", "Communication", "Communication" => [ "BBS", "Chat", "Chat" => [ "ICQ", "Internet Relay Chat", "Skype", "Unix Talk", "XMPP" ], "Conferencing", "Email", "Email" => [ "Address Book", "Email Client", "Email Filter", "Mailing List Server", "Mail Transport Agent", "IMAP", "POP3" ], "Fax", "FIDO", |
︙ | ︙ | |||
175 176 177 178 179 180 181 | "GNUstep", "KDE", "PicoGUI", "Screen Savers", "Window Manager", "Window Manager" => [ "Afterstep", | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | "GNUstep", "KDE", "PicoGUI", "Screen Savers", "Window Manager", "Window Manager" => [ "Afterstep", "Applet", "Blackbox", "CTWM", "Enlightenment", "Fluxbox", "FVWM", "IceWM", "MetaCity", |
︙ | ︙ | |||
222 223 224 225 226 227 228 | "Finger", "Log Analysis", "DNS", "Proxy Server", "WAP", "WWW", "WWW" => [ | | | | | | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | "Finger", "Log Analysis", "DNS", "Proxy Server", "WAP", "WWW", "WWW" => [ "Browser", "Dynamic Content", "Dynamic Content" => [ "CGI Library", "Message Board", "News/Diary", "Page Counter" ], "HTTP Server", "Indexing/Search", "Session", "Site Management", "Site Management" => [ "Link Checking" ], "WSGI" ] ], "Multimedia", "Multimedia" => [ "Graphics", "Graphics" => [ "3D Modeling", "3D Rendering", "Capture", "Capture" => [ "Digital Camera", "Scanner", "Screen Capture" ], "Editor", "Editor" => [ "Raster-Based", "Vector-Based" ], |
︙ | ︙ | |||
336 337 338 339 340 341 342 | "Sociology", "Sociology" => [ "Genealogy", "History" ], "Software Development", "Software Development" => [ | | | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | "Sociology", "Sociology" => [ "Genealogy", "History" ], "Software Development", "Software Development" => [ "Assembler", "Bug Tracking", "Build Tool", "Code Generator", "Compiler", "Debugger", "Disassembler", "Documentation", |
︙ | ︙ | |||
362 363 364 365 366 367 368 | "Python Module", "Ruby Modules", "Tcl Extension" ], "Localization", "Object Brokering", "Object Brokering" => [ | | > > | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | "Python Module", "Ruby Modules", "Tcl Extension" ], "Localization", "Object Brokering", "Object Brokering" => [ "CORBA", "D-Bus", "SOAP" ], "Pre-processor", "Quality Assurance", "Testing", "Testing" => [ "Traffic Generation" ], |
︙ | ︙ | |||
392 393 394 395 396 397 398 | "Boot" => [ "Init" ], "Clustering", "Console Font", "Distributed Computing", "Emulator", | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | "Boot" => [ "Init" ], "Clustering", "Console Font", "Distributed Computing", "Emulator", "Filesystem", "Hardware", "Hardware" => [ "Hardware Driver", "Mainframes", "Symmetric Multi-processing" ], "Installation", |
︙ | ︙ | |||
469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 | ], "Programming Language" => [ "Ada", "APL", "ASP", "Assembly", "Awk", "Basic", "C", "C#", "C++", "Cold Fusion", "Cython", "Delphi", "Dylan", "Eiffel", "Emacs-Lisp", "Erlang", "Euler", | > > > < > > > > > > > > > < > > | 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | ], "Programming Language" => [ "Ada", "APL", "ASP", "Assembly", "Awk", "Bash", "Basic", "C", "C#", "C++", "Clojure", "Cold Fusion", "Cython", "D", "Delphi", "Dylan", "Eiffel", "Emacs-Lisp", "Erlang", "Euler", "Forth", "Fortran", "Go", "Groovy", "Haskell", "Haxe", "Java", "JavaScript", "Lua", "Lisp", "Logo", "Matlab", "ML", "Modula", "Oberon", "Objective C", "Object Pascal", "OCaml", "Parrot", "Pascal", "Perl", "PHP", "PHP" => [ "HHVM", "Quercus" ], "Pike", "PL/SQL", "PROGRESS", "Prolog", "Python", "Python" => [ "CPython", "IronPython", "Jython", "PyPy", "Stackless" ], "REBOL", "R", "Regex", "Rexx", "Ruby", "Scala", "Scheme", "Simula", "Smalltalk", "SQL", "Tcl", "Unix Shell", "Vala", "YACC", "Zope" ], "Environment" => [ "Console", "Console" => [ "Curses", |
︙ | ︙ | |||
569 570 571 572 573 574 575 576 577 578 579 580 581 582 | "C++" => [ "Boost" ], "Groovy" => [ "Grails" ], "Java" => [ "Spring", "Sinatra", "Struts", "OpenXava" ], "JavaScript" => [ "AngularJS", | > | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 | "C++" => [ "Boost" ], "Groovy" => [ "Grails" ], "Java" => [ "Hibernate", "Spring", "Sinatra", "Struts", "OpenXava" ], "JavaScript" => [ "AngularJS", |
︙ | ︙ | |||
627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 | ], "Ruby" => [ "Rails" ] ], "Operating System" => [ "BeOS", "MacOS", "MS-DOS", "Windows", "OS2", "Cross-plattform", "PalmOS", "PDA Systems", "POSIX", "AIX", | > > > | | | > > < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 | ], "Ruby" => [ "Rails" ] ], "Operating System" => [ "BeOS", "Darwin", "MacOS", "MS-DOS", "Windows", "OS2", "Cross-plattform", "PalmOS", "PDA Systems", "POSIX", "AIX", "BSD", "BSD" => [ "FreeBSD", "NetBSD", "OpenBSD" ], "Hurd", "HP-UX", "IRIX", "Linux", "SCO", "Solaris", "QNX", "Unix" ], "Audience" => [ "Customer Service", "Developers", "Education", "End Users", "Financial and Insurance Industry", "Healthcare Industry", "Information Technology", "Legal Industry", "Manufacturing", "Religion", "Science/Research", "System Administrators", "Telecommunications Industry" ], ]; /** * Try to map SPDX.org names onto our license tags, * or find entry in long description; * |
︙ | ︙ | |||
813 814 815 816 817 818 819 820 821 822 823 824 825 826 | } } return $html; } } ?> | > > > > > > > > | 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 | } } return $html; } /** * Returns just leaves from trove $tree. * */ function leaves() { return iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator(self::$tree))); } } ?> |
Changes to template/header.php.
1 2 3 4 5 6 | <?php /** * api: freshcode * type: template * title: HTML page header * description: Starts <html> and <head>, outputs top bar / menus etc. | | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?php /** * api: freshcode * type: template * title: HTML page header * description: Starts <html> and <head>, outputs top bar / menus etc. * version: 0.5.2 * * Optionally injects a `$header_add` list, or allows to override the * page $title. * */ ?> <!DOCTYPE html> <html> <head> <title><?= isset($title) ? $title : "freshcode.club" ?></title> <meta name=version content=0.5.2> <meta charset=UTF-8> <link rel=stylesheet href="/freshcode.css?0.6.1"> <link rel="shortcut icon" href="/img/changes.png"> <base href="//<?= HTTP_HOST ?>/"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!--[if lt IE 9]><script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script><![endif]--> <script src="/gimmicks.js"></script> <?php if (isset($header_add)) { print $header_add . "\n"; } ?> </head> <body> <nav id=topbar> Open source community software release tracking. |
︙ | ︙ |
Changes to template/submit_form.php.
︙ | ︙ | |||
74 75 76 77 78 79 80 | <label> Tags<br> <input id=tags name=tags size=50 placeholder="game, desktop, gtk, python" value="$data[tags]" maxlength=150 pattern="^\s*((c\+\+|\w+([-.]\w+)*(\[,;\s]+)?){0,10}\s*$" style="display:inline-block"> <span style="inline-block; height: 0px; overflow: visible; position: absolute;"> | | | | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | <label> Tags<br> <input id=tags name=tags size=50 placeholder="game, desktop, gtk, python" value="$data[tags]" maxlength=150 pattern="^\s*((c\+\+|\w+([-.]\w+)*(\[,;\s]+)?){0,10}\s*$" style="display:inline-block"> <span style="inline-block; height: 0px; overflow: visible; position: absolute;"> <img src=img/addtrove.png with=100 height=150 style="position:relative;top:-150px;"> <span id=trove_tags class=add-tags>{$_(tags::trove_select(tags::$tree))}</span> </span> <small style="width:60%">Categorize your project. Tags can be made up of letters, numbers and dashes. This can include usage context, application type, programming languages, related projects, etc.</small> </label> <label> Image <input type=url name=image size=50 placeholder="http://i.imgur.com/xyzbar.png" value="$data[image]" maxlength=250> <small>Previews will be 120x90 px large. Alternatively a homepage screenshot will appear later.</small> </label> </p> <h3>Release Submission</h3> <p> <label> |
︙ | ︙ | |||
126 127 128 129 130 131 132 | <small>Summarize the changes in this release. Documentation additions are as crucial as new features or fixed issues.</small> </label> <label> Download URL <input name=download size=50 type=url placeholder="http://project.example.org/" value="$data[download]" maxlength=250> | | > > | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <small>Summarize the changes in this release. Documentation additions are as crucial as new features or fixed issues.</small> </label> <label> Download URL <input name=download size=50 type=url placeholder="http://project.example.org/" value="$data[download]" maxlength=250> <small>In particular for the download link one could apply the <a class="action version-placeholder"><b><kbd>\$version</kbd></b> placeholder</a>.</small> </label> <label> Other URLs <textarea cols=60 rows=5 name=urls maxlength=2000>$data[urls]</textarea> <small>A list of comma or newline-separated project URLs like <code>src = http://foo, deb = http://bar</code>. Common link types include src / rpm / deb / txz / dvcs / release-notes / forum, etc. Either may contain a <a class="action version-placeholder">\$version placeholder</a> again.</small> </label> </p> <h3>Automatic Release Tracking</h3> <p> <em>You can skip this section.</em> |
︙ | ︙ | |||
181 182 183 184 185 186 187 | <h3>Publish</h3> <p> Please proofread again before saving. <label> Submitter <input name=submitter size=50 placeholder="Your Name, optional@example.com" value="$data[submitter]" maxlength=100> | | | | > | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | <h3>Publish</h3> <p> Please proofread again before saving. <label> Submitter <input name=submitter size=50 placeholder="Your Name, optional@example.com" value="$data[submitter]" maxlength=100> <small>List your name or nick name here. Optionally add a gravatar email.</small> </label> <label> Lock Entry <input name=lock size=50 placeholder="$_SESSION[openid]" value="$data[lock]" maxlength=250> <small>Normally all projects can be edited by everyone (WikiStyle). If you commit to yours, you can however <a class="action lock-entry"><b>lock</b> this project</a> against one or multiple OpenID handles (comma-separated, take care to use exact URLs). Or add a password hash for using the submit API. </label> </p> <p> <b>Terms and Conditions</b> <label class=inline><input type=checkbox name="req[os]" value=1 required> It's open source / libre / Free software or pertains BSD/Linux.</label> <label class=inline><input type=checkbox name="req[cc]" value=1 required> Your entry is shareable under the <a href="http://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA</a> license.</label> </p> |
︙ | ︙ |
Changes to template/submit_import.php.
︙ | ︙ | |||
8 9 10 11 12 13 14 | * until hovered over. * */ ?> <style> | | < < | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | * until hovered over. * */ ?> <style> .submit-import.trimmed { display: none; } </style> <form action="/submit" method=POST enctype="multipart/form-data" class="submit-import trimmed"> <section> <a> <h5>Import</h5> <p> Automatically fill in basic project description <label> From <select name=import_via style="font-size: 125%"><option title="releases.json, common.js, package.json, bower.json, composer.json">JSON<option title="Description of a Project XML">DOAP<option title="Python Package Info">PKG-INFO<option title="Freecode.com project listing">freecode<option title="Sourceforge.net project homepage">sourceforge</select> <small>Which file format or service to use for importing.</small> </label> <label> with Name |
︙ | ︙ |
Changes to template/submit_sidebar.php.
︙ | ︙ | |||
13 14 15 16 17 18 19 | <section> <h5>Submit project<br>and/or release</h5> <p> You can submit <em title="Free, Libre, and Open Source Software">FLOSS</em> or <em title="or Solaris/Darwin/Hurd">BSD/Linux</em> software here. It's not required that you're a developer of said project. </p> | | | < > | > | | | > > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <section> <h5>Submit project<br>and/or release</h5> <p> You can submit <em title="Free, Libre, and Open Source Software">FLOSS</em> or <em title="or Solaris/Darwin/Hurd">BSD/Linux</em> software here. It's not required that you're a developer of said project. </p> <p><small> You can always edit the common project information together with a current release. It will show up on the frontpage whenever you update a new version number and a changelog summary. </small></p> <?php if ($is_new) { print "<p>Or <a class='action submit-import' style='color:blue'>import</a> a project..</p>"; } ?> </section> <?php include("template/submit_import.php"); ?> </aside> <section id=main> |