<feed xmlns='http://www.w3.org/2005/Atom'>
<title>webiot, branch 0.1.0</title>
<subtitle>Small webserver for my personal Internet of Things (IoT)</subtitle>
<id>https://cgit.xengineering.eu/webiot/atom?h=0.1.0</id>
<link rel='self' href='https://cgit.xengineering.eu/webiot/atom?h=0.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/'/>
<updated>2024-03-25T19:28:51Z</updated>
<entry>
<title>Directly implement HTTP handler for /</title>
<updated>2024-03-25T19:28:51Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:28:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=4d2f729a2f65a8d645d83bd857d4b0766c49a887'/>
<id>urn:sha1:4d2f729a2f65a8d645d83bd857d4b0766c49a887</id>
<content type='text'>
There is no reason anymore to work with a closure here. This commit
makes the code more readable.
</content>
</entry>
<entry>
<title>Make the parsed configuration a global variable</title>
<updated>2024-03-25T19:27:16Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:26:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=9f1fc3ca35845a0fe5501f8a56646d6568e89e48'/>
<id>urn:sha1:9f1fc3ca35845a0fe5501f8a56646d6568e89e48</id>
<content type='text'>
This removes the need to pass the configuration struct to every
function.
</content>
</entry>
<entry>
<title>Move template parsing to main function</title>
<updated>2024-03-25T19:14:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:14:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=7dd778cda189ea7debc7770a030fc831b9eab18b'/>
<id>urn:sha1:7dd778cda189ea7debc7770a030fc831b9eab18b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make parsed templates a global variable</title>
<updated>2024-03-25T19:10:12Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:10:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=560999995ff4d8e9ec3393c3aaca4d7fbace7c95'/>
<id>urn:sha1:560999995ff4d8e9ec3393c3aaca4d7fbace7c95</id>
<content type='text'>
This allows to parse the templates during startup and use them in each
HTTP handler without explicit passing to these handlers.
</content>
</entry>
<entry>
<title>Define /api handler directly</title>
<updated>2024-03-25T19:06:08Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:06:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=82b6721e5fe7e626c6c731e408be9c989caf370c'/>
<id>urn:sha1:82b6721e5fe7e626c6c731e408be9c989caf370c</id>
<content type='text'>
Using a function returning a closure does not really make sense here.
</content>
</entry>
<entry>
<title>Move configuration code to a separate file</title>
<updated>2024-03-25T19:04:33Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T19:04:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=7ef343e871c0053534eab74763c4a48346669976'/>
<id>urn:sha1:7ef343e871c0053534eab74763c4a48346669976</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove unused function mustRender()</title>
<updated>2024-03-25T18:38:06Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T18:38:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=18b533f3b5dbb190d5d6f8769c5f7ef6052e0545'/>
<id>urn:sha1:18b533f3b5dbb190d5d6f8769c5f7ef6052e0545</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove mustRead()</title>
<updated>2024-03-25T18:36:44Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-25T18:36:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=99e0fdd5ad572a243b715260c313abdb33a991b8'/>
<id>urn:sha1:99e0fdd5ad572a243b715260c313abdb33a991b8</id>
<content type='text'>
This function just increases function nesting and makes the code less
readable.
</content>
</entry>
<entry>
<title>Remove Makefile</title>
<updated>2024-03-24T20:14:38Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T20:14:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=d81a1f40c08acac2f9afe8e80b2c69bbf321d3d6'/>
<id>urn:sha1:d81a1f40c08acac2f9afe8e80b2c69bbf321d3d6</id>
<content type='text'>
Since the build output is now only one binary it is not so useful
anymore to use a Makefile.

Removing the Makefile reduces the build dependencies for this project.
</content>
</entry>
<entry>
<title>Replace io/ioutil by os package</title>
<updated>2024-03-24T20:13:01Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T20:10:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=aa061a390d59157c8d5280e364a5a12f64c0c7ce'/>
<id>urn:sha1:aa061a390d59157c8d5280e364a5a12f64c0c7ce</id>
<content type='text'>
io/ioutil should not be used since Go 1.16.
</content>
</entry>
<entry>
<title>Replace appdata completely by embed package</title>
<updated>2024-03-24T20:12:56Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T20:07:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=820b15f71a4ac4aeb0c31dc6b929f2d022cff3b8'/>
<id>urn:sha1:820b15f71a4ac4aeb0c31dc6b929f2d022cff3b8</id>
<content type='text'>
The embed package makes it useless to handle static files from the
source tree during runtime. All those files go simply to the embed.FS
variable and are thus embedded into the binary which is easier to
handle.
</content>
</entry>
<entry>
<title>Embed simple.css file into binary</title>
<updated>2024-03-24T11:15:40Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T11:14:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=ce3a2dd68707c5c744aa019417baa12f1dab96e4'/>
<id>urn:sha1:ce3a2dd68707c5c744aa019417baa12f1dab96e4</id>
<content type='text'>
This removes the need to deploy the simple.css file to the target
machine.
</content>
</entry>
<entry>
<title>Create a Go module for this project</title>
<updated>2024-03-24T10:34:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T10:34:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=a871e4f72aab1aa968adc72c4bf2e3e0c530550e'/>
<id>urn:sha1:a871e4f72aab1aa968adc72c4bf2e3e0c530550e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update to simple.css v2.2.1</title>
<updated>2024-03-24T10:32:57Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T10:32:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=bb86390dddd056b75b5f6d8fd29ccc73de53496f'/>
<id>urn:sha1:bb86390dddd056b75b5f6d8fd29ccc73de53496f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Provide example and default configuration</title>
<updated>2024-03-24T10:30:56Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2024-03-24T10:30:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=3a169c74caa79a01b319786ac6c5ff8947686a59'/>
<id>urn:sha1:3a169c74caa79a01b319786ac6c5ff8947686a59</id>
<content type='text'>
Those two configuration files should not be the same. The default
configuration should be more or less empty while the example
configuration should demonstrate the server's capabilities.
</content>
</entry>
<entry>
<title>Rework code documentation</title>
<updated>2023-03-27T18:20:52Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T18:18:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=bc1a0ba75311ea2d53f2cbd3e305b31a561fdafc'/>
<id>urn:sha1:bc1a0ba75311ea2d53f2cbd3e305b31a561fdafc</id>
<content type='text'>
Comments inside functions are not that helpful. While the functino
docstring should explain everything to a user, the implementation inside
should speak for itself.
</content>
</entry>
<entry>
<title>Apply `go fmt` to all files</title>
<updated>2023-03-27T18:08:07Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T18:08:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=5c2d27cd4adbf517a15b7b4644098fa42d69df19'/>
<id>urn:sha1:5c2d27cd4adbf517a15b7b4644098fa42d69df19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix AGPL v3 link</title>
<updated>2023-03-27T17:57:18Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T17:57:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=ab28c680f57c73f80e602dd74f8b2eeaecc88f11'/>
<id>urn:sha1:ab28c680f57c73f80e602dd74f8b2eeaecc88f11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change title in HTML</title>
<updated>2023-03-27T17:54:20Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T17:54:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=cf0e6e8ec7d301bf6f06f01e532336d59d8a9be1'/>
<id>urn:sha1:cf0e6e8ec7d301bf6f06f01e532336d59d8a9be1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove systemd-specific code</title>
<updated>2023-03-27T17:37:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T17:37:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=e601eba8b204b101f9f0115b0b1201ef1a3a0635'/>
<id>urn:sha1:e601eba8b204b101f9f0115b0b1201ef1a3a0635</id>
<content type='text'>
This source is targeted at all Linux-based operating systems. Since they
are not all based on systemd the removed code should be re-introduced in
packaging repositories for specific distributions.
</content>
</entry>
<entry>
<title>Switch to simple.css</title>
<updated>2023-03-27T17:31:33Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T16:08:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=eb86fbf4c88647bcc6aaa86660da58df96a72850'/>
<id>urn:sha1:eb86fbf4c88647bcc6aaa86660da58df96a72850</id>
<content type='text'>
This very simple CSS framework is far better / beautiful / easy to
maintain than my own CSS.
</content>
</entry>
<entry>
<title>Pass appdata directory by argument</title>
<updated>2023-03-27T15:57:19Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T15:57:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=d7ce7860bf47ad1f51a44a9705eb0dbf1825eb66'/>
<id>urn:sha1:d7ce7860bf47ad1f51a44a9705eb0dbf1825eb66</id>
<content type='text'>
Passing this as part of the configuration file is not flexible. With
args it can be easily tweaked for the debug use case while the default
path for production is included in the argument parsing.
</content>
</entry>
<entry>
<title>Reformat README from plaintext to Markdown</title>
<updated>2023-03-27T15:33:05Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2023-03-27T15:33:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=5d1d9e09e3fd26228230bb325ca3d5ddf2576070'/>
<id>urn:sha1:5d1d9e09e3fd26228230bb325ca3d5ddf2576070</id>
<content type='text'>
Syntax highlighting is a nice thing and READMEs could be rendered in the
future via a CI-like build automation system.
</content>
</entry>
<entry>
<title>Remove unnecessary headline from index.html.tmpl</title>
<updated>2022-05-16T17:26:12Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T17:26:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=99298a40a29473940e3b1b96940187d6b34cf55c'/>
<id>urn:sha1:99298a40a29473940e3b1b96940187d6b34cf55c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement CSS installation</title>
<updated>2022-05-16T16:59:43Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T16:59:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=3b4f49a63fbab23ab36bccdfc82b86e5223f2495'/>
<id>urn:sha1:3b4f49a63fbab23ab36bccdfc82b86e5223f2495</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce appdata configuration option</title>
<updated>2022-05-16T16:55:08Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T16:55:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=96e66b41169a005613fe45f47bb7d1d92950a10f'/>
<id>urn:sha1:96e66b41169a005613fe45f47bb7d1d92950a10f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add configuration of template path</title>
<updated>2022-05-16T16:46:37Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T16:46:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=0344477b6014ca879d11934ef2d6fbd8a4c290c3'/>
<id>urn:sha1:0344477b6014ca879d11934ef2d6fbd8a4c290c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deploy HTML via Makefile</title>
<updated>2022-05-16T13:59:53Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T13:59:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=fa5433ddc8c3bb8d0ba184fe91df79365fd98a58'/>
<id>urn:sha1:fa5433ddc8c3bb8d0ba184fe91df79365fd98a58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix default path for config</title>
<updated>2022-05-16T13:49:12Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T13:49:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=6f83de0951682df7557e088d9fe4e37ed2fcb4ab'/>
<id>urn:sha1:6f83de0951682df7557e088d9fe4e37ed2fcb4ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix sysusers installation</title>
<updated>2022-05-16T13:47:14Z</updated>
<author>
<name>xengineering</name>
<email>me@xengineering.eu</email>
</author>
<published>2022-05-16T13:47:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit.xengineering.eu/webiot/commit/?id=9903d969d06a89516a8a2501b2841393756d4bb5'/>
<id>urn:sha1:9903d969d06a89516a8a2501b2841393756d4bb5</id>
<content type='text'>
</content>
</entry>
</feed>
