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.
|
periodically for information on new releases, design considerations, known bugs, etc. You can think of it as a miniblog.
|
||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<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
|
<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,
|
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>
|
it's present in if statements and the <code>\[v]</code> directive.<br>
|
||||||
|
|||||||
@@ -8,9 +8,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<ul>
|
<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>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>
|
</ul>
|
||||||
</div>
|
</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
|
<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>
|
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>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>
|
</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.
|
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>,
|
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