Strapdown-Zeta is a git-powered wiki system for hackers, derived from strapdown.js project.
Strapdown.js makes it embarrassingly simple to create elegant Markdown documents. No server-side compilation required.
Strapdown-Zeta add more features including a standalone server providing a git powered wiki system, on top of libgit2, we don't want any potential command injections!
Table of Content
auto generation. Just specify toc="true"
in the xmp
taggit init
then run the server will get you a full functional geeky wiki server.For more, please see:
Open your favorite text editor, paste the following lines into the text, then type markdown content in the middle, save the file as test.html, and open it, here you go!
<!DOCTYPE html> <html> <title>Hello, Strapdown</title> <meta charset="utf-8"> <xmp theme="cerulean" style="display:none;">
# title
your awesome markdown content goes here...
</xmp> <script src="http://cdn.ztx.io/strapdown/strapdown.min.js"></script> </html>
You can points to an external script file through the src attribute:
<!DOCTYPE html> <html> <title>Hello, Strapdown</title> <meta charset="utf-8">
<xmp theme="cerulean" style="display:none;" src="https://github.com/chaitin/strapdown-zeta/raw/master/content.md">
</xmp> <script src="http://cdn.ztx.io/strapdown/strapdown.min.js"></script> </html>
(in this example we display parsed content.md file located at same path).
src attribute specifies the URL of an external markdown file.
It should be placed on same domain because of web browsers same-origin policy.
You can set your favorite theme in xmp
tag. The following themes are built-in by default.
To use Cosmo, use the following line
<!DOCTYPE html> <html> <title>Hello, Strapdown</title> <meta charset="utf-8"> <xmp theme="cosmo" style="display:none;">
your awesome markdown content goes here...
</xmp> <script src="http://cdn.ztx.io/strapdown/strapdown.min.js"></script> </html>
To generate table of content, specify toc="true"
in xmp tag.
<!DOCTYPE html> <html> <title>Hello, Strapdown</title> <meta charset="utf-8"> <xmp theme="cosmo" toc="true" style="display:none;">
your awesome markdown content goes here...
</xmp> <script src="http://cdn.ztx.io/strapdown/strapdown.min.js"></script> </html>
The server supports the following parameters.
-addr="0.0.0.0"
, specify the listening host:port tuple, multiple addresses can be specified by separation of comma, e.g. 192.168.1.10:8080,127.0.0.1:8080
.-init
, do automatic git init
before starting the server, if git repo not found in working directory.-dir=/path/to/dir
, use the directory as the root of the git powered wiki.-title=MyTitle
, specify the default title of Wiki-auth=.htpasswd
, specify the authentication file to use, htpasswd format-heading_number=true|false
, set default value for whether to show heading numbers-toc=true|false
, set default value for whether to show table of content-host=some.domain.com
, the default hosting of strapdown static files-theme=cerulean|cosmo|...
, the default theme to useStandalone downloadable binary can be downloaded at https://github.com/chaitin/strapdown-zeta/releases
You can hack this project any way you want. Please follow the following build instructions to get started.
$ npm install
$ grunt
The generated file would be build/strapdown.min.js
and build/strapdown.min.css
The server can be built into a single standalone binary.
The server is written using go programming language.
First, you need to install go dependency libraries.
$ make -C server deps
After that, just run make
in server directory.
$ cd server
$ make
or just do following in project root directory, both will work!
$ make -C server all
Just copy the strapdown-server
binary to anywhere you want and run the server with proper parameters.
examples here:
$ mkdir -p /home/wiki
$ strapdown-server -dir /home/wiki -init -addr 127.0.0.1:8080
Or,you can run in docker:
$ mkdir -p /home/wiki
$ docker build . -t wiki
$ docker run -d -p 8080:8080 -v /home/wiki:/wiki wiki -dir /wiki -init -addr :8080
The server relies on /etc/mime.types to correctly detect file mime types. So make sure /etc/mime.types exists.
for Mac OSX users, the file is builtin.
For Archlinux users, install mime-types
$ pacman -S mime-types
For other Linux distributions, install apache server will also help.
To run this server using systemd, copy the strapdown.service file into your /etc/systemd/system/ directory and systemctl start strapdown
This project use SATA License (Star And Thank Author License), so you have to star this project before using. Read the license carefully.
All credit goes to the projects below that make up most of Strapdown.js: