homepage) using the awesome Luvit framework. Luvit is a LuaJIT wrapper for libuv, of node.js fame. It is called Lico!
Pico says, "Pico is a stupidly simple, blazing fast, flat file CMS". Lico aims for the same thing. There is a very close parity with Pico even though this is very early.
I used the static server from the Luvit examples as a base and went from there.
You can understand the basics by looking at the included content directory and just running the server.lua
file and hitting the index page.
If you need more information you can see the Pico docs and understand what is happening and how it works.
Plugins. Although with the native of the Event Emitter inside Luvit, this should be rather easy to re-create.
You can use SLTLuv to add new functions and features to your templates. You can see the modules/slt-extensions.lua
on how to add extensions to the templates. I also added in some examples in the default/themes/index.html
, if you want to see how they work.
Check out the slt2 examples to see how to write proper templates.
The markdown engine is rather simple. There is no fenced code blocks, and sometimes it will wrap uncommon HTML tags with <p>
tags (I tried using a figure
element and it was wrapped in p tags). I want switch to Hoedown soon.
Well, this is very interesting. Running the default setup for Pico and Lico, reveals Lico is twice as fast in at the browser level.
Using the Chrome Devtools Network Panel, I measured the index page of each system. I consistently got around 120ms for each request. For Pico, the results were varied quite a bit. They ranged from 200ms to as high as 500ms, but never going under 200ms.
There are a lot of factors here, but the default Pico has 3 pages and my Lico testing suite (same one as this repo) had 6 pages.
I did some other testing against my other project, PhileCMS. You can see that Pico doesn't handle large amounts of pages very well.
Yeah I bet. I am not a Lua developer. I made this over a week-long period trying to learn Lua. If you notice some funky stuff or clean n00b issues, please create issues or pull requests.
Here is the link to the Github repository.
I'm a full-stack developer, co-organizer of PHP Vancouver meetup, and winner of a Canadian Developer 30 under 30 award. I'm a huge Open Source advocate and contributor to a lot of projects in my community. When I am not sitting at a computer, I'm trying to perfect some other skill.