a build tool for my thoughts.
not for general consumption. this initially started out as a regular static site generator for a blog see v0.
however, I thought it would be better to make a static wiki engine to capture my thoughts, learnings and projects. this project is highly influenced by XXIIVV and sites like it.
the aim of this tool is to make writing, organising and publishing entries as easy as possible.
in addition to the aims above it should be available to most broswer hence no javascript
and minimal css
.
features include:
- simplified markup (see below)
- opinionated static site generator
- page linking
- portal pages (used to group topics of similar content)
- rss feed generation
find a live example here find example source here
npm install . -g
- build a site:
binder [src] [dest]
try the following in this directory:
binder docs wiki
NB: the build process requires you have a links
and media
directory in your source folder for css
- initialize entry file
binder entry [name]
this provides you wizard
$ binder entry sample
title? (default: sample)
parent? (default: none)
description? (default: none)
portal(y/n)? (default: n) y
this is a really simplified markdown clone. It's design goal is to quickly allow me to write quickly and then generate some relatively readable HTML files
find examples here.
defined at the start of the file. just key-value pairs
# this links the current entry to another (optional)
parent: linux
# this the displayed title
title: x11
# this is the displayed description
description: client-server architecture with communication...
# this is the creation date for the entry
crtdate: 2022-05-25 04:08:00
# this is flag to indicate is the entry is a portal
isportal: true
---
#<number> <text>
#1 Heading 1
#2 Heading 2
#3 Heading 3
#4 Heading 4
#5 Heading 5
#6 Heading 6
generates:
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
<h5>Heading 5</h5>
<h6>Heading 6</h6>
links to another entry
>[entry-name]
generates:
<a href="./entry-name.html">entry name</a>
[text|src]
generates:
<a href="src">text</a>
![alt|src]
generates:
<img alt="alt" src="src">
*bold*
_italics_
`code`
<3 backticks>
code block
<3 backtick>
generates:
<strong>bold</strong>
<em>italics</em>
<code>code</code>
<pre>
code block
</pre>
- first
- second
- third
# first
# second
# third
generates:
<ul>
<li>first<\li>
<li>second<\li>
<li>third<\li>
</ul>
<ol>
<li>first<\li>
<li>second<\li>
<li>third<\li>
</ol>
It should be a single line starting with the left angle bracket
<iframe src="http://www.blahblah.com/">