Line | f9b8a24e6219588d1f7f570dd9d448d02a5c6529 | current |
1 | <!DOCTYPE html> | <!DOCTYPE html> |
2 | <html> | <html> |
3 | <head> | <head> |
4 | <meta charset="utf-8"> | <meta charset="utf-8"> |
5 | <meta name="description" content="tech notebook @ interfluidity"> | <meta name="description" content="tech notebook @ interfluidity"> |
6 | <meta name="keywords" content="Scala, tech, interfluidity"> | <meta name="keywords" content="Scala, tech, interfluidity"> |
7 | <meta name="author" content="Steve Randy Waldman"> | <meta name="author" content="Steve Randy Waldman"> |
8 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
9 | | |
10 | | <!-- icons / favicons --> |
11 | | |
12 | | <!-- we just want the squared-corner image with no overlays for traditional favicon uses at tiny sizes --> |
13 | | <!-- swaldman added, ick, firefox scales down the biggest size for its tab icon, so we use the graphic we want for small sizes as the largest... --> |
14 | | <link rel="icon" type="image/png" sizes="500x500" href="../../../../icon/interfluidity-wave-blank-square-500x500.png"> |
15 | | <link rel="icon" type="image/png" sizes="32x32" href="../../../../icon/interfluidity-wave-blank-square-32x32.png"> <!-- swaldman added, for standard favicon size --> |
16 | | <link rel="icon" type="image/png" sizes="16x16" href="../../../../icon/interfluidity-wave-blank-square-16x16.png"> <!-- swaldman added, for standard favicon size --> |
17 | | <link rel="icon" type="image/png" href="../../../../icon/interfluidity-wave-blank-square-57x57.png"> <!-- swaldman added, for small icons by default --> |
18 | | |
19 | | <!-- at bigger sizes, we overlay a bit of text --> |
20 | | <!-- icons as recommened by https://mathiasbynens.be/notes/touch-icons --> |
21 | | <!-- For Chrome for Android: --> |
22 | | <link rel="icon" sizes="192x192" href="../../../../icon/interfluidity-wave-tech-192x192.png"> |
23 | | <!-- For iPhone 6 Plus with @3× display: --> |
24 | | <link rel="apple-touch-icon-precomposed" sizes="180x180" href="../../../../icon/interfluidity-wave-tech-180x180.png"> |
25 | | <!-- For iPad with @2× display running iOS ≥ 7: --> |
26 | | <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../../../icon/interfluidity-wave-tech-152x152.png"> |
27 | | <!-- For iPad with @2× display running iOS ≤ 6: --> |
28 | | <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../../../icon/interfluidity-wave-tech-144x144.png"> |
29 | | <!-- For iPhone with @2× display running iOS ≥ 7: --> |
30 | | <link rel="apple-touch-icon-precomposed" sizes="120x120" href="../../../../icon/interfluidity-wave-tech-120x120.png"> |
31 | | <!-- For iPhone with @2× display running iOS ≤ 6: --> |
32 | | <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../../../icon/interfluidity-wave-tech-114x114.png"> |
33 | | <!-- For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≥ 7: --> |
34 | | <link rel="apple-touch-icon-precomposed" sizes="76x76" href="../../../../icon/interfluidity-wave-tech-76x76.png"> |
35 | | <!-- For the iPad mini and the first- and second-generation iPad (@1× display) on iOS ≤ 6: --> |
36 | | <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../../../icon/interfluidity-wave-tech-72x72.png"> |
37 | | <!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: --> |
38 | | <link rel="apple-touch-icon-precomposed" href="../../../../icon/interfluidity-wave-blank-square-57x57.png"> |
39 | | |
40 | | <!-- end icons / favicons --> |
41 | | |
42 | <link rel="alternate" type="application/rss+xml" title="tech.interfluidity.com updates" href="../../../../feed/index.rss"> | <link rel="alternate" type="application/rss+xml" title="tech.interfluidity.com updates" href="../../../../feed/index.rss"> |
43 | <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs" href="https://www.interfluidity.com/unify-rss/all-blogs.rss"> | <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs" href="https://www.interfluidity.com/unify-rss/all-blogs.rss"> |
44 | <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs and microblogs" href="https://www.interfluidity.com/unify-rss/all-blogs-and-microblogs.rss"> | <link rel="alternate" type="application/rss+xml" title="interfluidity - all blogs and microblogs" href="https://www.interfluidity.com/unify-rss/all-blogs-and-microblogs.rss"> |
⋮ | ⋮ | ⋮ |
75 | </div> | </div> |
76 | <div id="content"> | <div id="content"> |
77 | <div class="day-stamp"> | <div class="day-stamp"> |
78 | 2024-06-02 <span class="arrow">⇒</span> | 2024-06-05 <span class="arrow">⇒</span> |
79 | </div> | </div> |
80 | <article class="presentation-single uid-readying-a-blog-for-sprouts"> | <article class="presentation-single uid-readying-a-blog-for-sprouts"> |
81 | <div class="entry-header"> | <div class="entry-header"> |
82 | <h1><a href="index.html">Readying a blog for revision histories and sprouts under unstatic</a></h1> | <h1><a href="index.html">Readying a blog for revision histories and sprouts under unstatic</a></h1> |
83 | <hr class="below-title"> | <hr class="below-title"> |
84 | </div> | </div> |
85 | | <div class="update-prepend rss-description-exclude"> |
86 | | <em> ➣ This post was meaningfully revised at 2024-06-06 @ 01:30 PM EDT. The previous revision is <a href="index-oldcommit-f9b8a24e6219588d1f7f570dd9d448d02a5c6529.html">here</a>, diff <a href="index-diff-f9b8a24e6219588d1f7f570dd9d448d02a5c6529-to-current.html">here</a>. (See <a href="index.html#update-history">update history</a>.) </em> |
87 | | <hr> |
88 | | </div> |
89 | <div class="entry-body"> | <div class="entry-body"> |
90 | <div class="flexmark markdown"> | <div class="flexmark markdown"> |
91 | <p>I've been developing support for my take on <a href="https://v5.chriskrycho.com/essays/feeds-are-not-fit-for-gardening/">Chris Krycho' "sprouts"</a> against this blog. Much of that support is now built into <a href="https://github.com/swaldman/unstatic"><code>unstatic</code></a>, my library for building static-site generators. But it does also require some support from within applicatons of that library, from the scala code and the <a href="https://github.com/swaldman/untemplate-doc">untemplates</a> of the individual site generators.</p> | <p>I've been developing support for my take on <a href="https://v5.chriskrycho.com/essays/feeds-are-not-fit-for-gardening/">Chris Krycho' "sprouts"</a> against this blog. Much of that support is now built into <a href="https://github.com/swaldman/unstatic"><code>unstatic</code></a>, my library for building static-site generators. But it does also require some support from within applications of that library, from the scala code and the <a href="https://github.com/swaldman/untemplate-doc">untemplates</a> of the individual site generators.</p> |
92 | <p>I'm going to upgrade my <a href="https://drafts.interfluidity.com/archive.html">"drafts"</a> blog to support revisions, diffs, and sprouts. I'll document what it takes to do that here.</p> | <p>I'm going to upgrade my <a href="https://drafts.interfluidity.com/archive.html">"drafts"</a> blog to support revisions, diffs, and sprouts. I'll document what it takes to do that here.</p> |
93 | <h3><a href="#enable-revision--and-diff-generation-in-scala-code" id="enable-revision--and-diff-generation-in-scala-code" name="enable-revision--and-diff-generation-in-scala-code" class="anchorlink"></a>Enable revision- and diff-generation in Scala code</h3> | <h3><a href="#enable-revision--and-diff-generation-in-scala-code" id="enable-revision--and-diff-generation-in-scala-code" name="enable-revision--and-diff-generation-in-scala-code" class="anchorlink"></a>Enable revision- and diff-generation in Scala code</h3> |
94 | <p>In the object <a href="https://github.com/swaldman/drafts.interfluidity.com/blob/main/src/com/interfluidity/drafts/DraftsSite.scala"><code>DraftsSite</code></a>, the <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/ZTSite.scala"><code>unstatic.ztapir.ZTSite</code></a> that defines the site to be generated, inside the <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/SimpleBlog.scala"><code>unstatic.ztapir.simple.SimpleBlog</code></a> that defines the blog, add a <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/RevisionBinder.scala"><code>RevisionBinder</code></a> that can pull old revisions of pages and generate them into the website, and a <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/DiffBinder.scala"><code>DiffBinder</code></a> that can generate diffs between current and new revisions:</p> | <p>In the object <a href="https://github.com/swaldman/drafts.interfluidity.com/blob/main/src/com/interfluidity/drafts/DraftsSite.scala"><code>DraftsSite</code></a>, the <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/ZTSite.scala"><code>unstatic.ztapir.ZTSite</code></a> that defines the site to be generated, inside the <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/SimpleBlog.scala"><code>unstatic.ztapir.simple.SimpleBlog</code></a> that defines the blog, add a <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/RevisionBinder.scala"><code>RevisionBinder</code></a> that can pull old revisions of pages and generate them into the website, and a <a href="https://github.com/swaldman/unstatic/blob/main/ztapir/src/unstatic/ztapir/simple/DiffBinder.scala"><code>DiffBinder</code></a> that can generate diffs between current and new revisions:</p> |
⋮ | ⋮ | ⋮ |
188 | </div> | </div> |
189 | <div class="entry-footer"> | <div class="entry-footer"> |
190 | <div class="post-metainfo"> | <div class="post-metainfo"> |
191 | <a href="index.html">03:15 AM EDT</a> | <div class="updated-note"> |
192 | | <a href="index.html#major-updates">Last major update at 2024-06-06 @ 01:30 PM EDT</a> |
193 | | </div> |
194 | | <div> |
195 | | <a href="index.html" class="pubtime">11:00 PM EDT</a> |
196 | | </div> |
197 | </div> | </div> |
198 | </div> | </div> |
199 | </article> | </article> |
⋮ | ⋮ | ⋮ |
206 | <a href="../../../../index.html">↑↑↑</a> | <a href="../../../../index.html">↑↑↑</a> |
207 | </div> | </div> |
208 | <div class="next"> | <div class="next"> |
209 | | <a href="../../06/neonix/index.html">Neonix →</a> |
210 | </div> | </div> |
211 | </div> | </div> |
212 | | <div id="update-history" class="update-history"> |
213 | | <h3 class="update-history-title"><a id="major-updates" href=""></a>Major revisions:</h3> |
214 | | <ul> |
215 | | <li><span class="update-timestamp"><i>2024-06-06 @ 01:30 PM EDT</i></span> — Correct bad publication date and time. (<a href="index-diff-f9b8a24e6219588d1f7f570dd9d448d02a5c6529-to-current.html">diff</a>)</li> |
216 | | <li><span class="update-timestamp"><i> <a href="index-oldcommit-f9b8a24e6219588d1f7f570dd9d448d02a5c6529.html">2024-06-05 @ 11:00 PM EDT</a></i></span> — Initial publication.</li> |
217 | | </ul> |
218 | | <div class="update-history-note"> |
219 | | Timestamps represent "major", substantative revisions. There may have been subsequent typo fixes and language reworkings within a major revision, after the time displayed. For a more complete and fine-grained update history, you can view the <a href="https://github.com/swaldman/tech.interfluidity.com/commits/main/">git repository commit history</a>. The most recent minor modification of this entry occurred 2024-06-06 @ 02:26 PM EDT. |
220 | | </div> |
221 | | </div> |
222 | </div><!-- after-article --> | </div><!-- after-article --> |
223 | </div> | </div> |
224 | <div id="right-sidebar"> | <div id="right-sidebar"> |
225 | </div> | </div> |
226 | </div> | </div> |
227 | </body> | </body> |
228 | </html> | </html> |