emojis: 🌈 🦄 ⚡ 💥 📂 🔥 📦
TODO List (not in order of priority)
-
[TODO] lua modules to recommend
- https://luarocks.org/modules/openresty/lua-cjson https://luarocks.org/modules/xpol/rapidjson https://luarocks.org/modules/grafi/lunajson https://luarocks.org/modules/harningt/luajson https://luarocks.org/modules/x25/luajwt
- https://luarocks.org/modules/gaspard/xml
- https://luarocks.org/modules/gvvaughan/lyaml
- https://luarocks.org/modules/gaspard/yaml
- https://luarocks.org/modules/tomasguisasola/luasql-mysql
- https://luarocks.org/modules/dougcurrie/lsqlite3 (http://lua.sqlite.org/)
- https://luarocks.org/modules/tomasguisasola/luasql-sqlite3 ()
- https://luarocks.org/modules/leafo/moonscript (https://stackoverflow.com/questions/28511552/how-to-require-and-use-moonscript-functions https://stackoverflow.com/questions/41664338/how-to-call-a-function-from-moonscript-in-lua)
- https://urn-lang.com/
- https://amulet.works/
- https://fennel-lang.org/
- https://github.com/hengestone/lua-languages
- http://terralang.org/getting-started.html#embedding-terra-lua-inside-of-c
- https://github.com/gopherjs/gopherjs
- https://luarocks.org/modules/hisham/luafilesystem https://luarocks.org/modules/moteus/lua-path
- https://luarocks.org/modules/starius/luacrypto https://luarocks.org/modules/daurnimator/luaossl https://luarocks.org/modules/tomasguisasola/md5
- https://luarocks.org/modules/olim/luasystem
- https://luarocks.org/modules/luasocket/luasocket
- https://luarocks.org/modules/ckobus/sys
- https://luarocks.org/modules/daurnimator/http
- https://luarocks.org/modules/luarocks/nixio (https://neopallium.github.io/nixio/modules/nixio.html https://github.com/openwrt/luci/blob/master/libs/luci-lib-nixio/docsrc/nixio.lua)
- https://luarocks.org/modules/luarocks/lua-discount https://luarocks.org/modules/mpeterv/markdown
- http://olivinelabs.com/lustache/
- https://github.com/leafo/etlua
- https://luarocks.org/modules/luarocks/luahaml
- https://luarocks.org/modules/bungle/lua-resty-template
- https://luarocks.org/modules/gvvaughan/luaposix http://25thandclement.com/~william/projects/lunix.html
- https://luarocks.org/modules/moteus/lua-curl / https://luarocks.org/modules/luarocks/luacurl / https://luarocks.org/modules/sena-networks/luajit-curl
- https://leafo.net/lapis/
- https://luarocks.org/modules/jakeg/lua-requests
- https://luarocks.org/modules/benoitgermain/lanes https://luarocks.org/modules/moteus/lua-llthreads2
- https://luajit.org/ext_ffi.html
- https://scilua.org/ http://torch.ch/docs/getting-started.html#_
- https://github.com/leafo/web_sanitize
- https://github.com/leafo/cloud_storage
- https://github.com/leafo/pgmoon
- https://luarocks.org/modules/gvvaughan/lpeg (http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html)
- https://libgit2.org/ (https://github.com/libgit2/luagit2)
- https://github.com/pyericz/redux-lua
- https://github.com/leafo/lua-mailgun
- https://github.com/fengari-lua/fengari (https://fengari.io/)
- http://moonstalk.org/
- https://idevz.org/vanilla/
- https://losinggeneration.com/gimlet/
- http://keplerproject.github.io/xavante/
- http://www.keplerproject.org/
- https://github.com/sailorproject/sailor
- https://github.com/sailorproject/valua
-
[TODO] blog series on embedding lua in c++ worth checking
-
[TODO] Possible image processing libraries
- https://github.com/libvips/libvips
- https://github.com/libvips/lua-vips
- http://libvips.github.io/libvips/API/current/func-list.html
sudo apt-get install libvips42 libvips-dev libvips-tools sudo luarocks install lua-vips
-
[TODO] Add in sql library/ies, eg. maybe:
-
[TODO] add in json library/ies, eg. maybe:
-
[TODO] add in inja template language
-
[TODO] add documentation for compiling other languages to lua, eg.:
-
[TODO] graphql for lua
-
[TODO] check out with javascript:
-
[TODO] suggested parsers - javascript/node, ruby (irb, pry), python, lua, bash
-
[TODO] check out POCO https://pocoproject.org/about.html
-
[TODO**] try passing string rather than istream to read_and_process()
-
[TODO**] changed how variable layers are done so it works with multithreading (add VLayer* parent to each layer) -- lots of reasons why that's unlikely to work still, eg. shared resources within Parser
-
[TODO] add multi-threading to Nift command
status
-
[TODO] output @system/@script without piping to file if using std::cout and 1 build thread (don't forget to use os_mtx)
-
[TODO] build output file if it doesn't already exist when tracking, makes sure other files with paths to it don't fail to build before they are successfully built themselves
-
[TODO] add project name to ProjectInfo.h, .nsm/nift.config etc. with @[projectname] variable/syntax
-
[TODO] add script extension option to track commands
-
[TODO] add error handling for rename etc. throughout
-
[TODO] add \a, \0 and \r escape characters when reading parameters
-
[TODO] add more html entities (try to be similar to latex)
-
[TODO] add @char/@ch syntax to template language (do both latex and html equivalents)
-
[TODO] need syntax in the template language to ensure existence of a file given relative path from the page
-
[TODO] further clean up reading parameters and parsing them
-
[TODO] implement better variable types with scoping, constants and privates (with privates say you have x.first and x.second, only allow x.* functions to modify x.[first/second] .. but how to do that, and what about ??
-
[TODO] implement type defs and function defs
-
[TODO] can we add run_function() function for multithreading, including hard-coded functions?
-
[TODO] consider using file hashes for incremental builds, or even just keep a copy of files to compare against
-
[TODO] add way to build non-tracked pages (including without even being a site, and/or without having a page to output to)
- need to be able to do both outputfile to stdout as well as programmingoutput
- maybe:
- nsm build cont-path (template-path) output-path
- nsm render cont-path (template-path)
- nsm render-name name
- nsm run cont-path (template-path)
- nsm run-name name