statique
Version, currently 0.24 versions
- 0.2latestFeb 10, 2016
- 0.1.1not indexedFeb 21, 2016
- 0.1not indexedFeb 21, 2016
- 0.0.5not indexedFeb 21, 2016
github.com/fikrimuhal/statique
Static Markdown Documentation Server
3 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
statique:
github: fikrimuhal/statique
version: ~> 0.2Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- MIT
- Author
- Ahmet Emre Aladağ
Dependencies
Runtime Dependencies
- kemal~> 0.7.0github: sdogruyol/kemal
README
Statique - Static Site Server
- Statique is a static site server written with Crystal language and Kemal Web Framework.
- It compiles the Markdown content in your Dropbox folder into HTML with pandoc every X minutes.
- (Optional) It watches for changes in your Dropbox folder, then compiles all your Markdown files into HTML with pandoc when any change detected.
- It provides a hook URL so that it can copy and rebuild the Markdown files upon a change in your Dropbox folder.
- Access can be restricted with passwords and permissions.
- Each folder can be assigned special permissions via files in config folder.
- Sample Dropbox folder structure can be seen in sample_dropbox_folder.
Installation
Read Installation Docs.
Authentication
Passwords are located on config/passwords.txt file of the sample_dropbox_folder/config in the username:password format, one at each line.
Authorization
Permissions are located on config/permissions.yml file of the sample_dropbox_folder/config.
- This file has a tree structure.
- root represents path /.
- Each item may contain users and children options.
- users option is a list of usernames who has the access to this path and its children.
- ['*'] represents anybody can access to this folder.
- /__kemal__ and paths like /css /js should have users: ['*'] so that anyone can use the static assets.
- children option is a list of subpaths underneath that folder.
- users option is a list of usernames who has the access to this path and its children.
Development
If you want to run Statique on your local machine,
- Make sure you have proper Dropbox/statique/config folder.
- Checkout code:
git clone http://github.com/fikrimuhal/statique && git checkout dropbox && cd statique
shards install
- Use the default build script to build your Dropbox repository:
sh cronjob.sh
This will generate html files inside ~/statique/public folder.
- Now you can start Statique server:
crystal src/statique.cr
Navigate to http://localhost:3000 to see the result. You can use admin:admin password to access all the site.
TODO
- MD5 Hashing for passwords
- Hook Queue: if another build request comes, do not reject it but put it into the queue. If multiple requests are come, use the last one.
Contributing
- Fork it ( https://github.com/fikrimuhal/statique/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- aladagemre Ahmet Emre Aladağ - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.2- Tagged
- Feb 10, 2016
- Commit
f56303fd0584- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/fikrimuhal/statique
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 4