👤 my portfolio website https://zvava.org/
Go to file
sophie 8e75867df3 * 2023-09-18 23:52:51 +01:00
.vscode * 2023-07-18 05:11:27 +01:00
scripts getting close... 2023-09-12 16:57:50 +01:00
src * 2023-09-18 23:52:51 +01:00
.gitignore add chronic the hemphog saga 2022-05-30 12:31:27 +01:00
LICENSE Initial commit 2019-05-26 12:28:50 +01:00
README.md * 2023-07-06 17:58:49 +01:00
make.js * 2023-07-12 03:16:47 +01:00
wiki.js * 2023-07-06 17:58:49 +01:00



static website generator (html and gemini) for my personal website zvava.org


the qjs wiki.js utility is provided to help me (and you!) to create modifications to the wiki

usage: qjs wiki.js command args


  • list: list all wiki pages
  • new: create a new wiki page
  • edit: edit a wiki page
  • rm: delete wiki pages

each command has it's own arguments, to list use qjs wiki.js command -h


prints out a list of every single page, takes a combination of characters as an argument

usage: qjs wiki.js list [-hlLcTIEAMVHS]

  • -: noop
  • h: display usage information
  • t: show TODOs
  • a: show local links
  • d: show dead local links
  • l: list categories of pages as well
  • p: add padding to the list :)
  • c: sort by created date instead of modified date

using both a and d is identical to using just d

you can filter by categories using the captial first letter of a category;

stub (no category), Text, Info, Event, Art, Music, Video, Hardware, Software


makes changes to a page

usage: qjs wiki.js edit [arg] page


  • (no argument): open the page in nano
  • -h --help: display usage information
  • -m --modify: set modified date to today's date


delete a page or pages. if you need to be safe you can type out pages to remove first, then go up in history to confirm the deletion by adding -y to the end of the command

usage: qjs wiki.js rm [-h] [pages]

  • -h --help: display usage information
  • -y --yes: confirm deletion


create a new wiki page with placeholder content

usage: qjs wiki.js new page [args...]

general arguments:

  • -h --help: display usage information
  • -f --force: don't abort if page already exists

add metadata:

  • -t --title: set new page's title
  • -C --created: set new page's created date
  • -m --modified: set new page's modified date
  • -T --thumb: set new page's thumbnail
  • -c --category: add a category to the page

add content:

  • -h1 --header: add a # header to the page
  • -h2 --sub: add a ## header to the page
  • -h3 --subsub: add a ### header to the page
  • -p --text: add a paragraph to the page
  • -q --quote: add a block quote to the page
  • -l --link: add a link to the page
  • -i --image: add an image to the page
  • -a --alt: set alt text of previous image/link


run qjs make.js to create out/, out/gemini/, and out/www/, then generate contents

run webserver 80 out/www/ (npm i -g webserver) to debug html output

run agate --content out/gemini/ --host localhost to debug gemini output


make sure all changes are committed and pushed

run publish.bat on windows or publish.sh on unix and enter password to sync changes with the webserver

remote server will fetch the latest version of this repo, and run the publish.sh script. this builds the site remotely and copies out/gemini/ to /var/gemini/content/ and out/www/ to /var/www/