about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--content/projects/_index.md26
-rw-r--r--content/projects/acanban.md10
-rw-r--r--content/projects/axuy.md10
-rw-r--r--content/projects/discord-meme-bot.md3
-rw-r--r--content/projects/ipwhl.md7
-rw-r--r--content/projects/palace.md5
-rw-r--r--layouts/_default/project.html20
7 files changed, 75 insertions, 6 deletions
diff --git a/content/projects/_index.md b/content/projects/_index.md
new file mode 100644
index 0000000..656e9ca
--- /dev/null
+++ b/content/projects/_index.md
@@ -0,0 +1,26 @@
+---
+title: Huy's free software directory
+lang: en
+translationKey: fsd
+---
+
+Not to be confused with [the project by Free Software Foundation][fsd], though
+it serves a similar purpose.
+
+I created this list to give a more personal and subjective introduction to
+readers about free software projects I'm in contact (e.g. creator, maintainer,
+casual contributors, or simply users).
+
+Projects are tagged with one of the following statuses:
+
+- active: projects with updates in less than a month, or in less
+    than a year in case of mature project
+- stagnant: projects without any updates in the duration mentioned above
+- dead: projects without any intention of maintainence from developers.
+    Projects where maintainers don't reply to any issue within 3 months may
+    fall in this category.
+
+I'm glad to add any interesting projects which can help people, so feel free to
+contact me if you're working on any.
+
+[fsd]: https://directory.fsf.org/
diff --git a/content/projects/acanban.md b/content/projects/acanban.md
index ee6205a..7e61f52 100644
--- a/content/projects/acanban.md
+++ b/content/projects/acanban.md
@@ -9,6 +9,16 @@ author: me
 authorURL: /
 projectURL: https://github.com/Huy-Ngo/acanban
 projectStatus: dead
+categories: ["software", "web", "project management system"]
+tags: ["python", "ipfs", "academic", "kanban board", "project management"]
 ---
 
 Acanban is a defunct academic-oriented project management system.
+It was an experiment of applying multiple techniques to develop a system
+to manage school projects by students in our university.  What made it differ
+from other project management systems is that it allows some activities
+specific to academic context, such as submitting report or evaluation.
+
+You can find a report documenting our development [on the repo][doc]
+
+[doc]: https://raw.githubusercontent.com/Huy-Ngo/acanban/main/paper/build/latex/acanban.pdf
diff --git a/content/projects/axuy.md b/content/projects/axuy.md
index d01393c..289c803 100644
--- a/content/projects/axuy.md
+++ b/content/projects/axuy.md
@@ -9,14 +9,16 @@ author: cnx
 authorURL: https://cnx.srht.site
 projectURL: https://sr.ht/~cnx/axuy/
 projectStatus: stagnant
+categories: ["software", "game"]
 ---
 
-I added face culling and added texture to the 3D shooting game *axuy* by
-[McSinyx][cnx].
+*Axuy* is a prototype multiplayer 3D shooting game.  It is a very bare
+prototype, which you can extend by adding some texture to objects.
+
+The game allows multiplayer over a network.
+You can also add bots to play with you.
 
 <picture>
   <source srcset="/images/axuy.webp" type="image/webp">
   <img alt="axuy" src="/images/axuy.png">
 </picture>
-
-[cnx]: https://cnx.srht.site/
diff --git a/content/projects/discord-meme-bot.md b/content/projects/discord-meme-bot.md
index 86be05e..b4e45df 100644
--- a/content/projects/discord-meme-bot.md
+++ b/content/projects/discord-meme-bot.md
@@ -9,9 +9,12 @@ author: me
 authorURL: /
 projectURL: https://github.com/dinhanhx/acanban
 projectStatus: stagnant
+categories: ["software", "chatbot"]
+tags: ["discord", "bot", "meme", "self-host"]
 ---
 
 Discord Meme bot is a meme bot for discord using Reddit API.
+It also provides images from some other image-based subreddits.
 I have transferred the repo ownership to my friend [dinhanhx][dinhanhx-gh].
 
 [dinhanhx-gh]: https://github.com/dinhanhx/
diff --git a/content/projects/ipwhl.md b/content/projects/ipwhl.md
index 42e05a9..448b426 100644
--- a/content/projects/ipwhl.md
+++ b/content/projects/ipwhl.md
@@ -7,8 +7,15 @@ layout: project
 name: IPWHL
 author: cnx
 authorURL: https://cnx.srht.site
+maintainers:
+  - name: cnx
+    URL: https://cnx.srht.site
+  - name: me
+    URL: /
 projectURL: https://sr.ht/~cnx/ipwhl/
 projectStatus: active
+categories: ["packaging"]
+tags: ["distributed", "python", "ipfs"]
 ---
 
 The *interplanetary wheels* (or *floating cheeses*) are platform-unique,
diff --git a/content/projects/palace.md b/content/projects/palace.md
index 88a88e3..ff87e81 100644
--- a/content/projects/palace.md
+++ b/content/projects/palace.md
@@ -7,8 +7,13 @@ layout: project
 name: Palace
 author: cnx
 authorURL: https://cnx.srht.site
+maintainers:
+  - name: cnx
+    URL: https://cnx.srht.site
 projectURL: https://git.sr.ht/~cnx/palace
 projectStatus: stagnant
+categories: ["software", "library", "audio"]
+tags: ["python", "3d", "3d audio"]
 ---
 
 *Palace* is a 3D audio library in Python.  It is a wrapper around
diff --git a/layouts/_default/project.html b/layouts/_default/project.html
index 34a04ea..1761cbb 100644
--- a/layouts/_default/project.html
+++ b/layouts/_default/project.html
@@ -20,8 +20,24 @@
         {{ .Params.name }}
       </a>
       </dd>
-      <dt>Authors</dt>
-      <dd> <a href={{.Params.authorURL}}>{{ .Params.author }}</a></dd>
+      {{ if isSet .Params "author" }}
+        <dt>Creator</dt>
+        {{ if isSet .Params "authorurl" }}
+          <dd><a href={{.Params.authorURL}}>{{ .Params.author }}</a></dd>
+        {{ else }}
+          <dd>{{ .Params.author }}</dd>
+        {{ end }}
+      {{ end }}
+      {{ if isSet .Params "maintainers" }}
+        <dt>Maintainers</dt>
+        {{ range $maintainer := .Params.maintainers }}
+          {{ if isSet $maintainer "URL" }}
+          <dd><a href={{$maintainer.URL}}>{{ $maintainer.name }}</a></dd>
+          {{ else }}
+          <dd>{{ $maintainer.name }}</dd>
+          {{ end }}
+        {{ end }}
+      {{ end }}
       <dt>Status</dt>
       <dd>{{ .Params.projectStatus }}</dd>
     </dl>