site update, finally
This commit is contained in:
@@ -7,6 +7,23 @@
|
||||
periodically for information on new releases, design considerations, known bugs, etc. You can think of it as a miniblog.
|
||||
</div>
|
||||
<div class="text">
|
||||
<b>2024-4-3:</b> 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").<br>
|
||||
Markdown can do links now and they're not bad. Still gotta implement some stuff, though.<br>
|
||||
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.<br>
|
||||
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.<br>
|
||||
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).<br>
|
||||
My main goal for Sitix since I started was to <i>fully</i> 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 <i>phenomenal</i>).<br>
|
||||
Finally, a little note about usage: <b>Sitix is meant to be scriptable</b>. 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.
|
||||
<br><br>
|
||||
<b>2024-3-23:</b> 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 (<code>\[=name content]</code>) directives; for now,
|
||||
it's present in if statements and the <code>\[v]</code> directive.<br>
|
||||
|
||||
@@ -8,9 +8,11 @@
|
||||
</div>
|
||||
<div class="text">
|
||||
<ul>
|
||||
<li>Rework the project structure to use Make and have more files rather than larger files.</li>
|
||||
<li>Stress-test seggies (maybe build a large "stresstest" project that uses the most cursed possible permutations of all the sitix features).</li>
|
||||
<li>Safety: Sitix should not delete your entire codebase if you accidentally mistype the command.</li>
|
||||
<li>Update the Usage section.</li>
|
||||
<li>Fully rework Object::lookup and Object::childSearchUp. They're <i>bad</i> and that needs fixin'.</li>
|
||||
<li>Markdown: add images, lists, and tables. Hardest bit saved for last, eh?</li>
|
||||
<li>Downloadable templates!</li>
|
||||
</ul>
|
||||
</div>
|
||||
[/]
|
||||
|
||||
@@ -71,6 +71,9 @@
|
||||
<li><code>slice_left</code>: 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 <code>"hello,world" 5 slice_left</code> returns just "hello".</li>
|
||||
<li><code>slice_right</code>: Same behavior as slice_left, except it slices the "right" side, so <code>"hello,world" 5 slice_left</code> would return "world".</li>
|
||||
<li><code>filenameify</code>: 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.</li>
|
||||
<li><code>trim</code>: Trim off whitespace around a string (note: this will render Sitix objects).</li>
|
||||
</ul>
|
||||
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 <code>\[i exists]</code> and <code>\[i config]</code>,
|
||||
|
||||
Reference in New Issue
Block a user