From aa891fba51c293dbdb6bce688e6a008624115d82 Mon Sep 17 00:00:00 2001 From: Lazy Hippopotamus Date: Wed, 3 Apr 2024 18:02:12 -0400 Subject: [PATCH] site update, finally --- site/pages/noteboard.html | 17 +++++++++++++++++ site/pages/todo.html | 6 ++++-- site/pages/usage.html | 3 +++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/site/pages/noteboard.html b/site/pages/noteboard.html index 75ece5f..38a8459 100644 --- a/site/pages/noteboard.html +++ b/site/pages/noteboard.html @@ -7,6 +7,23 @@ periodically for information on new releases, design considerations, known bugs, etc. You can think of it as a miniblog.
+ 2024-4-3: Reworked the project fully over the last few weeks. It's now a LOT better. The lookup and childSearchUp functions are the main bad things left + (also a lot of crappy string manipulation, but that's less of a "problem" and more of an "optimization goal").
+ Markdown can do links now and they're not bad. Still gotta implement some stuff, though.
+ Relative files are now supported! The old way of doing files will not be deprecated for the forseeable future, but now you can explicitly specify that you want + to check the project root with /, and if the file ISN'T absolute, it'll be looked-up in the directory of the file containing the object running the lookup. + This may eventually produce odd behavior with lookups in different parts of a project, but for now it should be fine; I'm not keeping the current lookup function for long.
+ This means that I'm now moving forward with one of my major goals: downloadable templates! It hasn't been listed in todo (I'm lazy) but it's been on the list in my head for a while.
+ One of the few things I liked about Jekyll was the builtin development server that watched the project tree for changes, and rebuilt them on the fly - + so sitix now does this too! Activate the -w flag to use Sitix in Watchdog mode. It's pretty robust and sane, so (aside from a few annoying seggies + I'm working on fixing) it should be usable as a daemon on servers using Sitix. This is very useful for situations like a blog that needs to update from + a web interface (another daemon attached to an endpoint handles auth and creates/updates Sitix files).
+ My main goal for Sitix since I started was to fully replace Jekyll. In my not-so-humble opinion, it's already better, but it doesn't cover all the features; + I need a Github action for building Sitix, for one (the GH Pages integration on Jekyll is phenomenal).
+ Finally, a little note about usage: Sitix is meant to be scriptable. Sitix alone only does static build; it's useful and recommended to write a + Bash script that invokes a sitix build and then does other things with it. For this reason, I at the moment have no plans to officially support fancy stuff like moving Sitix + outputs to another Git branch. +

2024-3-23: Added Evals. It's a simple evaluated stack-based language designed specifically for Sitix. At the moment, all it does is compare things, but it's a damn sight better than how if statements used to work. Eventually I'll add vscript to inline object (\[=name content]) directives; for now, it's present in if statements and the \[v] directive.
diff --git a/site/pages/todo.html b/site/pages/todo.html index 0a4fbbb..118ab5f 100644 --- a/site/pages/todo.html +++ b/site/pages/todo.html @@ -8,9 +8,11 @@
[/] diff --git a/site/pages/usage.html b/site/pages/usage.html index c4adc4e..bfdcaa5 100644 --- a/site/pages/usage.html +++ b/site/pages/usage.html @@ -71,6 +71,9 @@
  • slice_left: Pops the top two items off stack and, assuming one is a number, stringifies the other one and slices from the start of that to the index represented by the number. This discards the character at the index, so "hello,world" 5 slice_left returns just "hello".
  • slice_right: Same behavior as slice_left, except it slices the "right" side, so "hello,world" 5 slice_left would return "world".
  • +
  • filenameify: Reduce it to a lowercased POSIX-compliant filename including only a-z, 0-9, ., _, and -. It will also shorten at points where two - would be + in sequence, for pretty-printing reasons.
  • +
  • trim: Trim off whitespace around a string (note: this will render Sitix objects).
  • Truthyness in Evals is not dissimilar to JavaScript. Empty strings are falsey, and all other strings are truthy; 0 is falsey and all other numbers are truthy, and booleans are truthy or falsey based on their value. Sitix variables are considered truthy if the lookup is successful, and falsey otherwise; this allows for a replacement to the old \[i exists] and \[i config],