Tree @ca24ef1 (Download .tar.gz)
mmm
mmm is not the www, because it runs on MoonScript.
live version at mmm.s-ol.nu.
What?
This repo is roughly split into three parts:
mmm.dom
,mmm.component
: polymorphic Lua/Moonscript modules for web development.
[code:mmm
- docs]mmmfs
: the CMS/FS powering mmm.s-ol.nu.
[code:mmm/mmmfs
- article]- the page contents: includes my portfolio, blog, experiments...
authored using a mix of Moonscript, Markdown and HTML, thanks to the power ofmmmfs
.
[data:root
, but you might want to read a bit about mmmfs before you jump in.]
Building & Viewing
mmm is built using tup.
You can build the static content with:
$ tup init
$ tup
Next you can render a sqlite3 mmmfs database using
$ moon build/render_all.moon db.sqlite3
Then, run some kind of HTTP server from within out
, e.g. with python 3 installed:
$ cd root
$ python -m http.server
You can then view the website in your browser.
The example above will provide it at http://localhost:8000
.
During development you may want to automatically rebuild the project as files are changed. You can do this with the following command:
$ tup monitor -f -a
Dependencies
You will need:
- MoonScript:
luarocks install moonscript
- lua-sqlite3:
luarocks install sqlite3
- lua-http:
luarocks install http
- discount:
luarocks install discount
(requires libmarkdown2) - busted:
luarocks install busted
(for testing only)
Live Reloading (during development)
entr is useful for reloading the dev server when code outside the root changes:
$ ls build/**.moon mmm/**.moon | entr -r moon build/server.moon fs
Commit History
@ca24ef108dbb11860e719711e4e7fbd6323aee0e
git clone https://git.s-ol.nu/mmm.git
- add xy-workshop s-ol 3 years ago
- add ba_log entry 2019-10-14 s-ol 3 years ago
- new type/pathfinding algorithm s-ol 3 years ago
- fix browser nav issues, fs default sorting s-ol 3 years ago
- temporarily fix moonscript in client s-ol 3 years ago
- add ba_log entry 2019-10-11 s-ol 3 years ago
- allow ?interactive with no main facet s-ol 3 years ago
- fix #inspect links s-ol 3 years ago
- add ba_log entry 2019-10-10 s-ol 3 years ago
- change ?interactive pseudofacet to text/html+interactive pseudo-type s-ol 3 years ago
- fix about section links s-ol 3 years ago
- add key_spec s-ol 3 years ago
- fileders load via get_index rather than list_facets/list_fileders s-ol 3 years ago
- add table to mmm/dom convert s-ol 3 years ago
- add WebStore, fix Browser s-ol 3 years ago
- make fileders load just-in-time s-ol 3 years ago
- add $interactive facet with Browser s-ol 3 years ago
- add entr instructions s-ol 3 years ago
- ?index and ?tree as real facets with typecasting to application/json s-ol 3 years ago
- serve from root/ in docker s-ol 3 years ago
- fix mmm-embed s-ol 3 years ago
- move static files into root/ s-ol 3 years ago
- fix bug with _, - in facet names s-ol 3 years ago
- small addition to ba_log 2019-10-08 s-ol 3 years ago
- add ba_log entry 2019-10-09 s-ol 3 years ago
- make live server load subtree just-in-time (for live refreshing) s-ol 3 years ago
- rename LFS to FS store s-ol 3 years ago
- make ba_log browsable s-ol 3 years ago
- rename drivers to stores, make server, render_all store-agnostic s-ol 3 years ago
- thin out build folder s-ol 3 years ago