<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ceres, branch v0.2.0</title>
<subtitle>Recipe server for your favorite dishes</subtitle>
<id>https://cgit.xengineering.eu/ceres/atom?h=v0.2.0</id>
<link rel='self' href='https://cgit.xengineering.eu/ceres/atom?h=v0.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/'/>
<updated>2023-04-13T18:21:58Z</updated>
<entry>
<title>Update changelog for v0.2.0 release</title>
<updated>2023-04-13T18:21:58Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T17:01:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=c353a04d2dbc48a4abbce3b2fa90990a8bc200ad'/>
<id>urn:sha1:c353a04d2dbc48a4abbce3b2fa90990a8bc200ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Automate /var/lib/ceres creation</title>
<updated>2023-04-13T18:21:58Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T18:16:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=d82eae7034e0de30b5d61294cdb78c3ad8c1bbda'/>
<id>urn:sha1:d82eae7034e0de30b5d61294cdb78c3ad8c1bbda</id>
<content type='text'>
That way only the system user setup and ownership change has to be done
by the packager / installer.
</content>
</entry>
<entry>
<title>Document creation of /var/lib/ceres</title>
<updated>2023-04-13T18:21:58Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T17:55:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=4ed4b195e9e78d22f9eae0925403de645b5bc30a'/>
<id>urn:sha1:4ed4b195e9e78d22f9eae0925403de645b5bc30a</id>
<content type='text'>
This is up to the packager. Inside that data directory the application
is allowed to create folders on its own.
</content>
</entry>
<entry>
<title>Fix Makefile</title>
<updated>2023-04-13T18:21:58Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T17:42:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=672dc6ca0124c4ffe53f1142345b796094adafdd'/>
<id>urn:sha1:672dc6ca0124c4ffe53f1142345b796094adafdd</id>
<content type='text'>
There were some templates missing.
</content>
</entry>
<entry>
<title>Allow empty recipe list</title>
<updated>2023-04-13T18:21:58Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T17:35:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=937d0e07d9ad4ed98b4349de568de325c5cc7e70'/>
<id>urn:sha1:937d0e07d9ad4ed98b4349de568de325c5cc7e70</id>
<content type='text'>
This is useful for the case that no recipes exist or the recipe data
folder does not exist.
</content>
</entry>
<entry>
<title>Remove .gitignore file</title>
<updated>2023-04-13T17:09:08Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T17:06:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=ee9fd81f40c1e470f83be06717affd34779dd29f'/>
<id>urn:sha1:ee9fd81f40c1e470f83be06717affd34779dd29f</id>
<content type='text'>
The only left entry was `vendor` which was used to save Go dependencies.
Since there are no dependencies anymore this file is removed.
</content>
</entry>
<entry>
<title>Apply go fmt</title>
<updated>2023-04-13T16:52:12Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T16:52:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=08375ab50b3bf0231b432d855eca014842985c60'/>
<id>urn:sha1:08375ab50b3bf0231b432d855eca014842985c60</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unnecessary FIXME</title>
<updated>2023-04-13T15:59:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T15:13:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=3f40bc37a1095259a42825bac08f939bc15e8a13'/>
<id>urn:sha1:3f40bc37a1095259a42825bac08f939bc15e8a13</id>
<content type='text'>
The security advice cares about HTML injected from recipe markup into
HTML templates. This is not a considered threat because the user is
trusted in this earlx version.
</content>
</entry>
<entry>
<title>Fix empty title regression</title>
<updated>2023-04-13T15:59:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T15:09:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=73391d7b8d847f3a8662be7c632658e7299acd37'/>
<id>urn:sha1:73391d7b8d847f3a8662be7c632658e7299acd37</id>
<content type='text'>
If no title is detected, a default text should be inserted instead. This
avoids not clickable links on the index page.
</content>
</entry>
<entry>
<title>Remove LinkLine type from markup</title>
<updated>2023-04-13T15:59:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-13T15:07:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=0c5e4afa7cc608067e3bf187977b087df322f319'/>
<id>urn:sha1:0c5e4afa7cc608067e3bf187977b087df322f319</id>
<content type='text'>
This was not fully implemented and looks better as normal text line than
as &lt;pre&gt; element.
</content>
</entry>
<entry>
<title>Do not hardcode data directory</title>
<updated>2023-04-13T15:59:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-12T17:04:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=ec1936c20647ba405bd2cc457c16a02dfdf56216'/>
<id>urn:sha1:ec1936c20647ba405bd2cc457c16a02dfdf56216</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to unnested config</title>
<updated>2023-04-12T16:50:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-12T16:50:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=4eacd5f54074c6cd73eaef4178c56843ce742445'/>
<id>urn:sha1:4eacd5f54074c6cd73eaef4178c56843ce742445</id>
<content type='text'>
This is now just not needed.
</content>
</entry>
<entry>
<title>Update example recipes</title>
<updated>2023-04-12T16:41:13Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-12T16:41:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=ba971b29db4579db8e95d920d6c035d621fe2531'/>
<id>urn:sha1:ba971b29db4579db8e95d920d6c035d621fe2531</id>
<content type='text'>
This shows some more markup features / edge cases.
</content>
</entry>
<entry>
<title>Implement markup to HTML conversion</title>
<updated>2023-04-12T16:40:53Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-10T14:40:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=3d697e774668e65bfef9bdd18224feecf086da97'/>
<id>urn:sha1:3d697e774668e65bfef9bdd18224feecf086da97</id>
<content type='text'>
The new custom and text/gemini inspired markup has to be converted to
HTML to display the recipe.
</content>
</entry>
<entry>
<title>Add link to gemini specification</title>
<updated>2023-04-08T20:34:38Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T20:34:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=a7a7bc184eb010166c8eb4a3255aad73b6d06edc'/>
<id>urn:sha1:a7a7bc184eb010166c8eb4a3255aad73b6d06edc</id>
<content type='text'>
The gemini protocol specification includes a section about the
text/gemini MIME type. This file format is a easy to parse markup
language which should be used for the Ceres recipe server.
</content>
</entry>
<entry>
<title>Move title parsing to new markup.go file</title>
<updated>2023-04-08T20:15:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T19:30:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=dbf0ea2dd53b88a26ab7e3cc12a06344022d57ec'/>
<id>urn:sha1:dbf0ea2dd53b88a26ab7e3cc12a06344022d57ec</id>
<content type='text'>
The new recipe markup which replaces Markdown will need an own file to
be implemented.
</content>
</entry>
<entry>
<title>Remove Markdown rendering</title>
<updated>2023-04-08T20:15:45Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T19:14:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=d0d740cd58cef0adea51aae5c9df37181a0ed270'/>
<id>urn:sha1:d0d740cd58cef0adea51aae5c9df37181a0ed270</id>
<content type='text'>
This step prepares moving to a new, custom and easily parsable markup
language.
</content>
</entry>
<entry>
<title>Fix layout on delete confirmation page</title>
<updated>2023-04-08T20:15:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T20:15:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=fa2ad475b4e0c890b662b61886599373f552bf31'/>
<id>urn:sha1:fa2ad475b4e0c890b662b61886599373f552bf31</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix links</title>
<updated>2023-04-08T20:13:03Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T20:13:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=bb8be468855d520bb2bf474657fbcfb3387bcc0a'/>
<id>urn:sha1:bb8be468855d520bb2bf474657fbcfb3387bcc0a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Makefile</title>
<updated>2023-04-08T20:03:09Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-08T20:02:32Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=f49ef61b9aeadf22a43b728c6b348f09b6c29804'/>
<id>urn:sha1:f49ef61b9aeadf22a43b728c6b348f09b6c29804</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch from MariaDB to files</title>
<updated>2023-04-02T19:52:10Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-01T19:18:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=bae6e34c9119750b2cba2a2ce6d88e9f8c895900'/>
<id>urn:sha1:bae6e34c9119750b2cba2a2ce6d88e9f8c895900</id>
<content type='text'>
Using a database is way more complex (see the commit statistics of this
commit) than using files to store recipe data. Also administration and
usage is simpler.
</content>
</entry>
<entry>
<title>Add example recipe data files</title>
<updated>2023-04-02T19:51:34Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-01T18:47:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=996725cb4735e1026bb3409d52b5a61bc8274fd2'/>
<id>urn:sha1:996725cb4735e1026bb3409d52b5a61bc8274fd2</id>
<content type='text'>
This prepares the switch to a file-based store of recipe data replacing
MariaDB.
</content>
</entry>
<entry>
<title>Improve user interface</title>
<updated>2023-04-01T16:37:47Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-01T16:37:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=43e6305c45c6365288c1f512702f49ba2e52e941'/>
<id>urn:sha1:43e6305c45c6365288c1f512702f49ba2e52e941</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement recipe deletion</title>
<updated>2023-04-01T16:21:27Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-04-01T14:03:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=88107366bce6b7f7c788171a18c40ad102904ff4'/>
<id>urn:sha1:88107366bce6b7f7c788171a18c40ad102904ff4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make Markdown editable</title>
<updated>2023-04-01T13:20:46Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-31T20:00:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=eec9ddfd687a871880628b4a5e9b3c0541b534e2'/>
<id>urn:sha1:eec9ddfd687a871880628b4a5e9b3c0541b534e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reduce to ID and Markdown</title>
<updated>2023-03-31T19:46:53Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-31T18:41:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=39298f14d366b351708e7f5ef30d1b6575155792'/>
<id>urn:sha1:39298f14d366b351708e7f5ef30d1b6575155792</id>
<content type='text'>
The upstream URL can be encoded easily by the user in the Markdown-based
description. The title can be parsed by the first found top-level
heading in the Markdown text.

Thus these two columns are no longer used. To avoid an additional
migration they will be kept in the database.
</content>
</entry>
<entry>
<title>Remove image functionality</title>
<updated>2023-03-31T17:47:55Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-31T17:47:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=f1308a436040f3a72e058e10ec2693cfb599da30'/>
<id>urn:sha1:f1308a436040f3a72e058e10ec2693cfb599da30</id>
<content type='text'>
Recipe images are currently complicated to implement and have little
use. Probably they will not be covered in the next release.
</content>
</entry>
<entry>
<title>Rework edit page dummy</title>
<updated>2023-03-07T17:08:00Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-07T17:08:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=58b03b95f544a6ab6bde5e508fbadcb0a2e804dd'/>
<id>urn:sha1:58b03b95f544a6ab6bde5e508fbadcb0a2e804dd</id>
<content type='text'>
Since there are no good solutions to upload the file and markdown
description text via HTML forms the edit page will upload the changes
using embedded javascript.

The page is now complete apart from the necessary javascript code and
the backend handlers.
</content>
</entry>
<entry>
<title>Update navigation links</title>
<updated>2023-03-07T16:27:14Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-07T16:27:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=e4ba2f142df4486acacf5b24cff822e2260c1fcc'/>
<id>urn:sha1:e4ba2f142df4486acacf5b24cff822e2260c1fcc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make add.html a template</title>
<updated>2023-02-12T18:46:48Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-02-12T18:46:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/ceres/commit/?id=ba327ee030a3b8abdbf9f5d10987060648dbb10e'/>
<id>urn:sha1:ba327ee030a3b8abdbf9f5d10987060648dbb10e</id>
<content type='text'>
This allows to use partial HTML files via Go's templating features.
</content>
</entry>
</feed>
