Tree @ba-wip (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
Required dependencies:
- MoonScript:
luarocks install moonscript
- lua-http:
luarocks install http
For unit tests:
- busted:
luarocks install busted
Not required but recommended:
- lua-sqlite3:
luarocks install sqlite3
(for SQLite3 backend) - lua-cjson:
luarocks install lua-cjson 2.1.0-1
(for server-side JSON support) - discount:
luarocks install discount
(requires libmarkdown2, for Markdown support)
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
@ba-wip
git clone https://git.s-ol.nu/mmm.git
- WIP s-ol 3 years ago
- add sidenote support s-ol 3 years ago
- some fixes in aspect-ratios s-ol 3 years ago
- add cjson to Dockerfile s-ol 3 years ago
- add ba_log entry 2019-11-25 s-ol 3 years ago
- document new dependency s-ol 3 years ago
- add pinwall example s-ol 3 years ago
- fix navlinks s-ol 3 years ago
- fix PUT :<type> s-ol 3 years ago
- add ba_log entry 2019-11-01 s-ol 3 years ago
- fix inspector s-ol 3 years ago
- add fileder ordering in stores.web, fileder, browser s-ol 3 years ago
- fsck root dir s-ol 3 years ago
- add proper order handling, fsck for stores.fs s-ol 3 years ago
- browsing, adding, removing fileders in inspector s-ol 3 years ago
- add DEBUG pseudo-type for debugging conversion s-ol 3 years ago
- allow adding and removing of facets s-ol 3 years ago
- small fixes: s-ol 3 years ago
- fix embed in static rendered markdown s-ol 3 years ago
- add ba_log 2019-10-29 s-ol 3 years ago
- make security vulnerabilities optional, remove sandbox s-ol 3 years ago
- fix the glaring security vulnerability i just implemented s-ol 3 years ago
- fixes s-ol 3 years ago
- add sandbox s-ol 3 years ago
- small styling fixes s-ol 3 years ago
- save edited changes s-ol 3 years ago
- fix syntax highlighting in markdown s-ol 3 years ago
- fix the damn text width problem, once and for all ???? s-ol 3 years ago
- add ba_log entry 2019-10-27 s-ol 3 years ago
- add ba_log entry 2019-10-26 s-ol 3 years ago