Automatically migrated from Gitolite
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.5 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
  1. <?php
  2. require("Spyc.php");
  3. $data = Spyc::YAMLLoad("projects.yaml");
  4. $bins = array();
  5. foreach($data["categories"] as $category => $category_data)
  6. {
  7. $bins[$category] = array(
  8. "name" => $category_data["name"],
  9. "description" => $category_data["description"],
  10. "projects" => array()
  11. );
  12. }
  13. foreach($data["projects"] as $project_name => $project_data)
  14. {
  15. $cat = $project_data["category"];
  16. $project_data["name"] = $project_name;
  17. if(isset($bins[$cat]))
  18. {
  19. $bins[$cat]["projects"][] = $project_data;
  20. }
  21. }
  22. ?>
  23. <html>
  24. <head>
  25. <title>Projects List</title>
  26. <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">
  27. <link rel="stylesheet" href="style.css">
  28. <link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
  29. </head>
  30. <body>
  31. <div class="wrapper">
  32. <h1>Projects List</h1>
  33. <p>
  34. This is a list of my projects. Active projects, abandoned projects, planned projects, everything. It may not yet be complete; changes will be made over time.
  35. </p>
  36. <p>
  37. If you're looking for my personal homepage, <a href="http://cryto.net/~joepie91">this is where you want to be</a>. Alternatively, you can <a href="http://cryto.net/~joepie91/donate.html">donate</a>.
  38. </p>
  39. <p>
  40. Each project indicates whether contributions are welcome or not. This refers primarily to code contributions (eg. in the form of a pull request). Bug reports may be accepted, even if code contributions aren't. If contributions are not accepted for a project, that generally means it is either undergoing an architectural change, in the design stages, or simply unmaintained.
  41. </p>
  42. <?php foreach($bins as $name => $bin): ?>
  43. <div class="category">
  44. <h2><?php echo($bin["name"]); ?></h2>
  45. <p><?php echo($bin["description"]); ?></p>
  46. <div class="projects">
  47. <?php foreach($bin["projects"] as $project): ?>
  48. <div class="project">
  49. <span class="buttons">
  50. <?php if(!empty($project["repository"])): ?>
  51. <a href="<?php echo($project["repository"]); ?>" class="top-bar link-repository pure-button" target="_blank"><i class="fa fa-github"></i> Repository</a>
  52. <?php endif; ?>
  53. <?php if(!empty($project["contributions_accepted"])): ?>
  54. <div class="top-bar contributions-yes"><i class="fa fa-code-fork"></i> Code contributions are welcome!</div>
  55. <?php else: ?>
  56. <div class="top-bar contributions-no"><i class="fa fa-times"></i> Code contributions not accepted</div>
  57. <?php endif; ?>
  58. <?php if(!empty($project["website"])): ?>
  59. <a href="<?php echo($project["website"]); ?>" class="top-bar link-website pure-button" target="_blank"><i class="fa fa-external-link-square"></i> Website</a>
  60. <?php endif; ?>
  61. </span>
  62. <div class="contents">
  63. <h3><?php echo($project["name"]); ?></h3>
  64. <p class="license">
  65. <?php if(!empty($project["version"])): ?>
  66. v<?php echo($project["version"]); ?> -
  67. <?php endif; ?>
  68. <?php if(!empty($project["license"])): ?>
  69. <?php echo($project["license"]); ?>
  70. <?php endif; ?>
  71. </p>
  72. <?php if(!empty($project["notes"])): ?>
  73. <p class="notes"><i class="fa fa-info-circle"></i> <?php echo($project["notes"]); ?></p>
  74. <?php endif; ?>
  75. <p class="description"><?php echo($project["description"]); ?></p>
  76. </div>
  77. </div>
  78. <?php endforeach; ?>
  79. </div>
  80. </div>
  81. <?php endforeach; ?>
  82. </div>
  83. </body>
  84. </html>