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 4 years ago
- add sidenote support s-ol 4 years ago
- some fixes in aspect-ratios s-ol 4 years ago
- add cjson to Dockerfile s-ol 4 years ago
- add ba_log entry 2019-11-25 s-ol 4 years ago
- document new dependency s-ol 4 years ago
- add pinwall example s-ol 4 years ago
- fix navlinks s-ol 5 years ago
- fix PUT :<type> s-ol 5 years ago
- add ba_log entry 2019-11-01 s-ol 5 years ago