Compare commits

...

256 commits
1.5 ... master

Author SHA1 Message Date
Michael a27d714747 update 05/24 2024-04-30 13:34:57 +02:00
Michael 89c6fbb233 update 05/2024 2024-04-30 13:32:49 +02:00
Aaron Fischer e7a3230f93 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	BOOK.mkd
2024-04-04 23:00:26 +02:00
Aaron Fischer 121081ea9c Support png file extension 2024-04-04 23:00:04 +02:00
Aaron Fischer 028fb71fb3 Update BOOK.mkd 2024-04-04 22:48:11 +02:00
Aaron Fischer 1ef6026d5c Update BOOK.mkd 2024-04-04 22:43:37 +02:00
Michael 8cb57383ad fixed typo 2024-04-03 15:59:29 +02:00
Michael 0234635e63 update 04/2024 2024-04-03 15:56:20 +02:00
Michael 3b7face40c update 04/2024 2024-04-03 15:53:59 +02:00
Aaron Fischer 73e6410fd2 do not download broken files 2024-03-11 22:19:32 +01:00
Aaron Fischer 2b7c578a34 fix regex to parse new URLs 2024-03-11 22:10:46 +01:00
Michael e266cd9868 link changed (yourbookshop/mojoreads to buchhandel.de) 2024-03-11 11:32:10 +01:00
Michael de5d591e0b link changed (yourbookshop/mojoreads to buchhandel.de) 2024-03-11 11:30:33 +01:00
Michael 4323601c58 link changed (yourbookshop/mojoreads to buchhandel.de) 2024-03-11 11:28:58 +01:00
Michael f3b7a396c7 link changed (mojoreads to buchhandel.de) 2024-03-11 11:24:40 +01:00
Michael 6ba8f9fab3 update 03/2024
update 03/2024 and change the bibliographic source vom mojoreads to buchhandel.de
2024-03-11 11:17:13 +01:00
Michael bfee0d603d some URLs were not correct (still mojoreads) 2024-03-11 11:07:27 +01:00
Michael 3e9badd552 update 03/2024
update 03/2024 and change the bibliographic source vom mojoreads to buchhandel.de
2024-03-11 11:02:11 +01:00
Michael 62a48635aa update 02/2024 2024-02-05 17:14:56 +01:00
Michael ca42644af2 update 02/2024 2024-02-05 17:12:21 +01:00
Michael 68b95be2ed update 01/2024 2023-12-28 17:09:35 +01:00
Michael f4c48e2872 update 01/2024 2023-12-28 17:07:53 +01:00
Michael 47478354a2 update 12/2023 - EAN korrektur 2023-11-29 09:43:26 +01:00
Michael 51ab79b64f update 12/2023 2023-11-29 09:39:47 +01:00
Michael a9ba891f3f update 12/2023 2023-11-29 09:37:43 +01:00
Michael 9579853e0a update 11/2023 2023-10-31 13:55:47 +01:00
Michael 6535a984e2 update 11/2023 2023-10-31 13:53:49 +01:00
Michael e52f3b3dac update 10/2023 2023-10-05 16:28:46 +02:00
Michael 2ec1758715 update 10/2023 2023-10-05 16:26:15 +02:00
Michael d0c717edc2 update 09/2023 2023-09-04 14:18:27 +02:00
Michael 07b7cb3b70 update 09/2023 2023-09-04 14:13:58 +02:00
Michael ed52a36f0e changed mojoreads to yourbook.shop 2023-08-03 21:33:19 +02:00
Michael 04ec2d46d1 changed mojoreads to yourbook.shop 2023-08-03 21:32:41 +02:00
Michael 2e22211bd8 update 08/2023 2023-07-31 12:42:11 +02:00
Michael 45e9f5c007 update 08/2023 2023-07-31 12:40:09 +02:00
Aaron Fischer 63ac0fce04 Fix docker compose in readme
Signed-off-by: Aaron Fischer <mail@aaron-fischer.net>
2023-07-18 21:34:14 +02:00
Aaron Fischer 8f9260b357 Add a gitignore file.
Signed-off-by: Aaron Fischer <mail@aaron-fischer.net>
2023-07-18 21:23:51 +02:00
Aaron Fischer 7db4b81ce3 Upgrade codebase to go 1.20 fix some outdated stuff
* New go version 1.20
* Reformat code
* Clean up regex
* Remove deprecated function calls (ioutils)
* Handle all errors
* Fix typos

Signed-off-by: Aaron Fischer <mail@aaron-fischer.net>
2023-07-18 21:21:16 +02:00
Michael 6110eddf68 update 07/2023 2023-07-14 11:56:44 +02:00
Michael b9b2da484b update 07/2023 2023-07-14 11:55:26 +02:00
Michael ec732df59b update 06/2023 2023-05-31 13:36:07 +02:00
Michael 416ceee51f update 06/2023 2023-05-31 13:34:25 +02:00
Michael f70d4237d5 update 05/2023 2023-05-09 20:26:36 +02:00
Michael 297289b6fd update 05/2023 2023-05-09 20:24:55 +02:00
Michael 966a4c52df update 04/2023 2023-04-02 21:20:42 +02:00
Michael e013bb2121 update 04/2023 2023-04-02 21:19:06 +02:00
Michael 58d99012ec update 03/2023 2023-03-07 20:03:11 +01:00
Michael 98210233c3 update 03/2023 2023-03-07 20:01:10 +01:00
Michael 9a7cc96691 typo fix 2023-02-02 21:03:51 +01:00
Michael 308921ab9b update 02/2023 2023-02-02 21:02:18 +01:00
Michael 077642b259 typo fix 2023-02-02 21:00:15 +01:00
Michael 716704f5cf update 02/2023 2023-02-02 20:59:55 +01:00
Michael 06ebdaa65f Update 01/2023 2022-12-27 14:30:19 +01:00
Michael 312d59780f Update 01/2023 2022-12-27 14:28:40 +01:00
Michael d05d227ac6 Update 12/2022 2022-12-05 12:23:43 +01:00
Michael 3e8013113d Update 12/2022 2022-12-05 12:20:59 +01:00
Michael 61a9f7ec0a Update 11/2022 2022-11-02 16:36:33 +01:00
Michael fe848947a6 Update 11/2022 2022-11-02 16:35:49 +01:00
Michael 67c0ecb219 style/typo fix 2022-09-26 15:16:13 +02:00
Michael 50852ebec9 Update 10/2022 2022-09-26 15:15:38 +02:00
Michael ae23a82cbe Update 10/2022 2022-09-26 15:13:41 +02:00
Michael 1ca1aa47ee update 09/2022 2022-08-29 22:19:03 +02:00
Michael 239ad9c40a update 09/2022 2022-08-29 22:15:17 +02:00
Michael 3b48e4f430 Update 08/2022 2022-07-29 11:44:46 +02:00
Michael 2ec33503b9 Update 08/2022 2022-07-29 11:41:24 +02:00
Michael 8682fd811a korrekte EAN für 03/2018 eingetragen 2022-06-30 13:10:06 +02:00
Michael d469172211 update 07/22 2022-06-28 20:35:59 +02:00
Michael 87b51b939b update 07/22 2022-06-28 20:34:31 +02:00
Michael 6f99715af8 Update 06/2022 2022-05-30 13:58:44 +02:00
Michael 35fdd1b93e Update 06/2022 2022-05-30 13:56:06 +02:00
Michael e99bd4cfd0 Update 05/2022 2022-04-28 15:13:34 +02:00
Michael 16b7ca8a4e Update 05/2022 2022-04-28 15:11:04 +02:00
Michael a5755eff27 added sample URLs 2022-03-29 11:38:53 +02:00
Michael 4d89762633 update 04/2022 2022-03-28 21:52:41 +02:00
Michael 95ec4c2ec2 update 04/2022 2022-03-28 21:49:58 +02:00
Michael 2f9d4e051d update 03/2022 2022-02-28 22:46:24 +01:00
Michael 9b3e7012ed update 03/2022 2022-02-28 22:46:08 +01:00
Michael a4f41c2a76 update 02/2022 2022-02-03 21:32:05 +01:00
Michael ce8deb7ce6 update 02/2022 2022-02-03 21:22:19 +01:00
Michael b7236f3c89 update 01/2022 2022-01-01 20:44:37 +01:00
Michael ddab51f06a update 01/2022 2022-01-01 20:42:42 +01:00
Michael de1c612951 update 12/2021 2021-12-01 16:51:41 +01:00
Michael 8575460ac3 update 12/2021 2021-12-01 16:49:30 +01:00
Michael 15f2e0d849 update 11/2021 2021-11-02 16:45:00 +01:00
Michael cafc2562b5 update 11/2021 2021-11-02 16:42:58 +01:00
Michael 3ca1901de1 Update 10/2021 2021-10-05 16:35:50 +02:00
Michael b3b0e863c5 Update 10/2021 2021-10-05 16:30:23 +02:00
Michael 568a2a7f33 typo fixed 2021-09-02 22:37:29 +02:00
Michael 9b74b04ed2 update 09/2021 2021-09-02 22:36:13 +02:00
Michael da2dd3b1b5 update 09/2021 2021-09-02 22:27:46 +02:00
Michael fbce9c0948 link zu Comicdesmonats eingefügt 2021-07-29 15:05:58 +02:00
Michael 050eeb99ee Update 08/2021 2021-07-29 14:52:11 +02:00
Michael d9c94bfa94 Update 08/2021 + typo fixed 2021-07-29 14:49:58 +02:00
Michael 912790b837 „templates/book.html“ ändern 2021-07-01 23:40:49 +02:00
Michael 1a306fa8a3 mojoreads ist jetzt yourbook.shop 2021-07-01 23:40:14 +02:00
Michael 77aa57ea06 mojoreads => yourbook.shop 2021-07-01 23:39:02 +02:00
Michael 9d96849557 mojoreads ist jetzt yourbook.shop 2021-07-01 23:37:57 +02:00
Aaron Fischer 4b5ae6d0db Update 'README.md' 2021-07-01 23:35:13 +02:00
Aaron Fischer e04c8cef66 Update 'Dockerfile' 2021-07-01 23:33:53 +02:00
Aaron Fischer 3250dd5837 Update 'README.md' 2021-07-01 23:29:18 +02:00
Aaron Fischer 1147e5fd98 Fix #15 2021-07-01 22:18:39 +02:00
Michael fa7847a380 changed mojoreads.de to yourbook.shop 2021-06-29 14:15:58 +02:00
Michael 45a98bf40c changed mojoreads.de to yourbook.shop 2021-06-29 14:14:36 +02:00
Michael 09f100637f update 07/2021 2021-06-28 14:56:59 +02:00
Michael 68160b4ef1 update 07/2021 2021-06-28 14:54:39 +02:00
Michael 1b72cf3874 fixed wrong EAN on 03/2019 2021-06-02 09:30:51 +02:00
Michael 4661071c67 update 06/2021 2021-05-30 21:57:32 +02:00
Michael 1e65f73f90 update 06/2021 2021-05-30 21:55:38 +02:00
Aaron Fischer 65caff3121 Add image to feed 2021-05-06 22:47:02 +02:00
Michael 9aca3f777b update 05/2021 2021-05-02 21:01:21 +02:00
Michael 51efac902b update 05/2021 2021-05-02 20:59:33 +02:00
Michael 162581e769 added RSS-URL in header-section 2021-04-09 11:51:47 +02:00
Michael e984f338a4 added RSS-URL in header-section 2021-04-09 11:51:08 +02:00
Aaron Fischer 2e827d6c99 missing item 2021-04-09 00:10:24 +02:00
Michael 0ada92efa9 Merge pull request 'RSS Feed working' (#14) from rssfeed into master
Reviewed-on: #14
2021-04-09 00:04:53 +02:00
Aaron Fischer 169afd6541 RSS Feed working 2021-04-09 00:03:57 +02:00
Michael a66205742d typos fixed 2021-04-06 18:09:30 +02:00
Michael de3ecf261c typos fixed 2021-04-06 18:08:45 +02:00
Michael 38a47fcda8 fixed typo 07/2020 2021-04-01 23:23:52 +02:00
Michael b2443d013c typo fixes 2021-04-01 22:53:12 +02:00
Michael 26c28659ef more typo fixes 2021-04-01 22:50:47 +02:00
Michael 55ca2bb706 fix typos 2021-04-01 22:48:13 +02:00
Michael 6f4bfc306e korrekte Platzierung von target="_blank" 2021-03-25 21:14:22 +01:00
Michael 12f9c7ee87 korrekte Platzierung von target="_blank" 2021-03-25 21:13:11 +01:00
Michael 58c63f25b5 update 4/2021 (and typo fix) 2021-03-25 11:45:38 +01:00
Michael 3b6a652617 update 4/2021 2021-03-25 11:42:05 +01:00
Michael 65189628c2 add "comic" 2021-03-19 21:50:44 +01:00
Aaron Fischer 06c4a75968 Fix HTML a little 2021-03-19 20:40:08 +01:00
Aaron Fischer 6cbe2c4430 Merge remote-tracking branch 'origin/master' 2021-03-19 20:35:19 +01:00
Aaron Fischer 24c28ac95c Clean up the project and add a docker compose file 2021-03-19 20:33:55 +01:00
Michael ce194b23c8 Links zu Mojoreads mit Parameter "target="_blank" ergänzt 2021-03-19 16:35:25 +01:00
Michael a9aa4c33e1 Formatierung des Einleitungstextes und target="_blank" bei den Links ergänzt 2021-03-19 16:31:25 +01:00
Aaron Fischer 711e4942ad Add dockerfile 2021-03-18 23:35:08 +01:00
Aaron Fischer 22d36d5a89 We are now a webserver with a webhook :P 2021-03-18 23:16:26 +01:00
Aaron Fischer 646659afb8 Fresh start with different programming language, WIP 2021-03-12 00:01:27 +01:00
Aaron Fischer 17d8fc8ea6 Make this project a LOT simpler 2021-03-10 00:52:59 +01:00
Aaron Fischer 32fbe277aa Update 'public/book.html' 2021-03-09 23:47:52 +01:00
Michael c97b19918c Sourcen von Lovelybooks zu Mojoreads geändert 2021-03-05 14:11:14 +01:00
Michael b773b9f164 Sourcen von Lovelybooks zu Mojoreads geändert 2021-03-05 14:09:53 +01:00
Michael 9bc280af24 update background color 2021-03-05 14:07:06 +01:00
Michael 13ff6df77d ULR fix 05/2016 2021-03-04 21:22:29 +01:00
Aaron Fischer dba27acd69 Change cover fetching logic to a MUCH simpler one 2021-03-04 21:00:42 +01:00
Michael d4cedfe929 update 3/2021 und EAN-Link Ergänzung 2021-03-02 18:14:48 +01:00
Michael 82ae2583ad update 3/2021 und EAN-Link Ergänzung 2021-03-02 17:25:55 +01:00
Michael 0c8f8bf505 Änderung der Links (Ergänzung mit EAN) 2021-02-25 21:18:34 +01:00
Michael 690de3a121 changed background color 2021-02-19 10:50:51 +01:00
Michael db907ad217 Einleitungstext bearbeitet 2021-02-19 10:47:47 +01:00
Michael b536c447aa Einleitungstext entfernt 2021-02-19 10:44:48 +01:00
Michael ee11ca6bcc changed git username in url 2021-02-18 22:30:54 +01:00
Michael a05d9b9eaa update git-username in url 2021-02-18 22:29:40 +01:00
Aaron Fischer 1c7af9ebcc Add multi stage dockerfile and fix source URL 2021-02-18 02:00:03 +01:00
Michael 81d0904a3b update 02/2021 2021-02-05 16:21:30 +01:00
Michael 151f060999 update 02/2021 2021-02-05 16:18:57 +01:00
Michael 4558be643f edit username in link to repo 2021-01-12 09:37:12 +01:00
Michael 26f13f7ec3 fixed typo 2021-01-11 17:43:13 +01:00
Michael 013dca65b2 Update 12/2020 und 01/2021 2021-01-11 17:42:39 +01:00
Michael 903378a818 Update 12/2020 und 01/2021 2021-01-11 17:37:27 +01:00
Michael Reutter a1ed65bcd9 Update "Data Zone" mit Mojoreads (Cover) 2020-11-13 09:47:44 +00:00
Aaron Fischer d61d98eba8 Merge branch 'master' of https://git.okoyono.de/mezzomix/buch_des_monats 2020-11-10 20:46:47 +01:00
Aaron Fischer 08f504f303 Generalize codebase and add more datasources.
Fixes #9
Relates #8

* Support mojoreads as a new data source
* Change image file names to hashsums to be more generic
* Clean up the source code by separate relates stuff in own files
* Fix the Chaos Monkeys book
2020-11-10 20:43:04 +01:00
Michael Reutter 4909b2ddcf Mojoreads Test 11/12 2020-11-02 21:39:45 +00:00
Aaron Fischer dd183627df Make source configurable (support comics and more!)
This fixes #5 #6 and #7
2020-11-02 10:30:12 +01:00
Michael Reutter 5ad05392fe Update 11/2020 2020-10-23 09:28:56 +00:00
Michael Reutter 1e19a56427 Update 11/2020 2020-10-23 09:27:35 +00:00
Michael Reutter 2b225720a5 Update 11/2020 2020-10-23 09:26:54 +00:00
Michael Reutter 5dbd2e0a73 Update 10/2020 2020-10-06 08:47:11 +00:00
Michael Reutter cb81fe88a9 Update 10/2020 2020-10-06 08:45:37 +00:00
Michael Reutter 22f7882114 Update 10/2020 2020-10-06 08:45:13 +00:00
Michael Reutter a82d3df71d Update 09/2020 2020-09-02 11:30:15 +00:00
Michael Reutter c2185b5ec1 Update 09/2020 2020-09-02 11:28:56 +00:00
Michael Reutter d3dcb21494 Update 09/2020 2020-09-02 11:28:23 +00:00
Michael Reutter 6456484035 „README.mkd“ ändern 2020-07-24 13:46:00 +00:00
Michael Reutter 3b634c736b „BOOK.mkd“ ändern 2020-07-24 13:45:42 +00:00
Michael Reutter 405cc90132 Update 08/2020 2020-07-24 13:45:26 +00:00
Michael Reutter 2eb2a6774d Update 08/2020 2020-07-24 13:43:27 +00:00
Michael Reutter 0fc2267cc9 Update 08/2020 2020-07-24 13:42:49 +00:00
Michael Reutter b602a2fdb5 Update 07/2020 2020-07-02 10:32:24 +00:00
Michael Reutter 9577fe2930 Update 07/2020 2020-07-02 10:29:40 +00:00
Michael Reutter 0eb1a03e20 Update 07/2020 2020-07-02 10:28:51 +00:00
Michael Reutter 451f6a2f68 Update 06/2020 2020-05-28 14:54:28 +00:00
Michael Reutter 1dc2174f05 Update 06/2020 2020-05-28 14:52:28 +00:00
Michael Reutter 610e4aed99 Update 06/2020 2020-05-28 14:51:54 +00:00
Michael Reutter 7acbc4c5ba Update 05/2020 2020-05-08 09:22:04 +00:00
Michael Reutter b615121d19 Update 05/2020 2020-05-08 09:20:13 +00:00
Michael Reutter 63372a4bf6 Update 05/2020 2020-05-08 09:19:26 +00:00
Michael Reutter 499740a16a Update 04/2020 2020-04-02 12:43:47 +00:00
Michael Reutter 1f6168e4f1 Update 04/2020 2020-04-02 12:40:55 +00:00
Michael Reutter ec8191bea7 Update 04/2020 2020-04-02 12:40:25 +00:00
Michael Reutter 0dc697a47f „COMIC.mkd“ ändern 2020-03-02 12:30:46 +00:00
Michael Reutter f07f0fd8d7 Update 03/2020 2020-03-02 12:30:28 +00:00
Michael Reutter ee9d6b8bd3 Update 03/2020 2020-03-02 12:29:15 +00:00
Michael Reutter 870f5a67f0 Update 03/2020 2020-03-02 12:28:48 +00:00
Michael Reutter dc9e4d856f Update 02/2020 2020-01-27 10:12:08 +00:00
Michael Reutter b297734051 Update 02/2020 2020-01-27 10:10:47 +00:00
Michael Reutter 1b142330f3 Update 02/2020 2020-01-27 10:10:02 +00:00
Michael Reutter b8ec91c3d8 „COMIC.mkd“ ändern
Update 01/2020
2020-01-02 11:54:38 +00:00
Michael Reutter 046d579da8 „BOOK.mkd“ ändern
Update 01/2020
2020-01-02 11:53:21 +00:00
Michael Reutter 8681ca32cb „README.mkd“ ändern
Update 01/2020
2020-01-02 11:52:43 +00:00
Michael Reutter 787337ac90 „COMIC.mkd“ ändern
Update 12/2019
2019-11-27 11:35:47 +00:00
Michael Reutter d816a4bf92 „BOOK.mkd“ ändern
Update 12/2019
2019-11-27 11:28:29 +00:00
Michael Reutter 255857ef13 „README.mkd“ ändern
Update 12/2019
2019-11-27 11:27:27 +00:00
Michael Reutter 3f7681bd41 Update 11/2019 2019-11-04 12:31:04 +00:00
Michael Reutter 97956caaff Update 11/2019 2019-11-04 12:29:16 +00:00
Michael Reutter 37056a5082 Update 11/2019 2019-11-04 12:28:45 +00:00
Michael Reutter fc226829c4 Update 10/2019 2019-09-25 15:54:37 +00:00
Michael Reutter a391d31e71 Update 10/2019 2019-09-25 15:53:16 +00:00
Michael Reutter bd82afe4b6 Update 10/2019 2019-09-25 15:52:53 +00:00
Michael Reutter 470dcae84e Update 09/2019 2019-08-27 07:46:16 +00:00
Michael Reutter eaa5c1ddf9 Update 09/2019 2019-08-27 07:42:36 +00:00
Michael Reutter 27ae806a45 Update 09/2019 2019-08-27 07:41:44 +00:00
Michael Reutter 6dc7e5b27a Update 08/2019 2019-07-25 08:53:47 +00:00
Michael Reutter bae08449e4 „COMIC.mkd“ ändern 2019-07-25 08:52:25 +00:00
Michael Reutter 8d6d8a1960 Update 08/2019 2019-07-25 08:51:57 +00:00
Michael Reutter 172d052b44 Update 08/2019 2019-07-25 08:33:48 +00:00
Michael Reutter 881df007e0 Update 07/2019 2019-06-28 10:03:49 +00:00
Michael Reutter f99364cfa6 Update 07/2019 2019-06-28 10:03:10 +00:00
Michael Reutter 2e3db20ffe Update 07/2019 2019-06-28 10:00:03 +00:00
Michael Reutter ef952e7a70 Update 07/2019 2019-06-28 09:59:33 +00:00
Michael Reutter cd00e18043 Update 06/2019 2019-05-27 09:46:34 +00:00
Michael Reutter 088c22a20e Update 06/2019 2019-05-27 09:35:49 +00:00
Michael Reutter 1c398d1422 Update 06/2019 2019-05-27 09:34:26 +00:00
Michael Reutter 9166b1f5ef Update 05/2019 2019-04-23 09:12:20 +00:00
Michael Reutter 6f60a1fe7a „README.mkd“ ändern 2019-04-23 09:11:10 +00:00
Michael Reutter c036029d14 Update 05/2019 2019-04-23 09:10:33 +00:00
Michael Reutter bb3008c2ac Update 04/2019 2019-03-25 09:30:41 +00:00
Michael Reutter e1076d0d08 fixed layout errors 2019-03-25 09:29:11 +00:00
Michael Reutter a0e461a713 Update 04/2019 2019-03-25 09:28:07 +00:00
Michael Reutter 42f058119e Update 04/2019 2019-03-25 09:27:34 +00:00
Michael Reutter fff3c1ad43 „COMIC.mkd“ ändern
Update 03/2019
2019-03-06 21:13:21 +00:00
Michael Reutter 1be5371fc0 „BOOK.mkd“ ändern
update 03/2019
2019-03-06 21:01:57 +00:00
Michael Reutter 5de31b3083 deleted unused intro text 2019-02-04 10:44:36 +00:00
Michael Reutter 41163881fc changed twitter handle to mastodon 2019-02-04 09:10:14 +00:00
Michael Reutter b5d5eb8e03 changed twitter handle to mastodon 2019-02-04 09:09:59 +00:00
Michael Reutter 2550c30783 „src/buchdesmonats/layout_comic“ hinzufügen 2019-02-04 09:08:07 +00:00
Michael Reutter a8bc957c45 added .mkd 2019-02-04 09:05:31 +00:00
Michael Reutter d618b51a13 changed readme to book 2019-02-04 08:41:29 +00:00
Michael Reutter 71eeb3df27 minor changes in description 2019-02-03 20:43:41 +00:00
Michael Reutter ed5787cd03 linked "buchdesmonats" in description 2019-02-03 20:41:19 +00:00
Michael Reutter d6300efc85 Changed Twitter handle to Mastodon 2019-02-03 20:37:15 +00:00
Aaron Fischer f4cfa44145 Fix image fetching again and update all dependencies 2019-01-24 23:14:34 +01:00
Michael Reutter 6997d79d18 Update 2/2019 2019-01-24 11:32:26 +00:00
Michael Reutter b4a69a6661 Update 2/2019 2019-01-24 11:31:00 +00:00
Michael Reutter 9a8a2f648f Update 1/2019 2018-12-15 08:01:40 +00:00
Michael Reutter ae06f706b0 Update 1/2019 2018-12-15 08:00:02 +00:00
Michael Reutter 65bce52074 Update 12/2018 2018-11-26 10:52:41 +00:00
Michael Reutter 2cf6abcda5 Update 12/2018 2018-11-26 10:43:28 +00:00
Michael Reutter ff16d2ef45 Update 11/2018 2018-10-30 10:38:01 +00:00
Michael Reutter 9b670f2413 Update 11/2018 2018-10-30 10:36:41 +00:00
Michael Reutter 8542867773 changed twitter to mastodon in description 2018-10-12 09:29:36 +00:00
Michael Reutter 320589c517 Update description 2018-09-18 13:39:44 +00:00
Michael Reutter ba77704568 Update 01-10/2018 2018-09-18 10:23:19 +00:00
Michael Reutter 3e095dfd08 Update 09/2018-1
found another comic... :)
2018-09-18 10:15:09 +00:00
Michael Reutter 93c967386b Update 09/2018
deleted all comics and transfering them to a shiny new list
2018-09-18 10:05:02 +00:00
Michael Reutter 0f9bf54efb 'README.mkd' ändern
Update 10/2018
2018-09-11 11:35:35 +00:00
Michael Reutter e2614ba9d5 Update 'README.mkd'
Update 09/2018
2018-09-03 17:43:06 +00:00
Michael Reutter b11e07f173 Update 08/2018 2018-07-24 15:02:48 +00:00
26 changed files with 754 additions and 339 deletions

21
.gitignore vendored
View file

@ -1,12 +1,9 @@
/target
/classes
/checkouts
pom.xml
pom.xml.asc
*.jar
*.class
/.lein-*
/.nrepl-port
/.project
/public/index.html
/public/book-covers/
/data
/covers
/bdm
/buch_des_monats.iml
/.idea/inspectionProfiles/Project_Default.xml
/.idea/.gitignore
/.idea/misc.xml
/.idea/modules.xml
/.idea/vcs.xml

View file

@ -1,2 +0,0 @@
* Aaron Fischer <mail@aaron-fischer.net>
* Michael Reutter <michael@reutter.info>

207
BOOK.mkd Normal file
View file

@ -0,0 +1,207 @@
## 2024
* Januar: [Stefan Mey "Der Kampf um das Internet"](https://www.buchhandel.de/buch/9783406807220)
* Februar: [Martha Wells "Tagebuch eines Killerbots"](https://www.buchhandel.de/buch/9783453320345)
* März: [Chaos Computer Club "Hackbibel 3"](https://www.buchhandel.de/buch/9783948923822)
* April: [Tonio Schachinger "Echtzeitalter"](https://www.buchhandel.de/buch/9783498003173)
* Mai: [Connie Willis "Die Straße nach Roswell"](https://www.buchhandel.de/buch/9783986664268)
## 2023
* Januar: [Simon Stalenhag "Tales from the Loop"](https://www.buchhandel.de/buch/9783596704835)
* Februar: [Blake Crouch "Upgrade"](https://www.buchhandel.de/buch/9781529045369)
* März: [Kim Stanley Robinson "Das Ministerium für die Zukunft"](https://www.buchhandel.de/buch/9783641280185)
* April: [Kris Brynn "The Shelter - Zukunft ohne Hoffnung"](https://www.buchhandel.de/buch/9783741301315)
* Mai: [Sibylle Berg "RCE"](https://www.buchhandel.de/buch/9783462001648)
* Juni: [Christopher Paolini "INFINITUM - Die Ewigkeit der Sterne"](https://www.buchhandel.de/buch/9783426227367)
* Juli: [Samanta Schweblin "Hundert Augen"](https://www.buchhandel.de/buch/9783518472507)
* August: [Theresa Hannig "Pantopia"](https://www.buchhandel.de/buch/9783596706402)
* September: [J. O. Morgan "Der Apparat"](https://www.buchhandel.de/buch/9783498003029)
* Oktober: [Pratchett/Baxter "Der Lange Mars"](https://www.buchhandel.de/buch/9783442487462)
* November: [Grace Curtis "Das Raumschiff, das vom Himmel fiel"](https://www.buchhandel.de/buch/9783453322578)
* Dezember: [Jens Andersen "Die LEGO-Story"](https://www.buchhandel.de/buch/9783421070043)
## 2022
* Januar: [Dave Eggers "Every"](https://www.buchhandel.de/buch/9783462001129)
* Februar: [Tanya Lapointe "Blade Runner 2049 - Interlinked - The Art"](https://www.buchhandel.de/buch/9781789092110)
* März: [Calvin Kasulke "Several People Are Typing"](https://www.buchhandel.de/buch/9780385547222)
* April: [Wolf Harlander "Systemfehler"](https://www.buchhandel.de/buch/9783644010277)
* Mai: [Christoph Grünberger "The Age of Data"](https://www.buchhandel.de/buch/9783721210156)
* Juni: [Berit Glanz "Automaton"](https://www.buchhandel.de/buch/9783827014382)
* Juli: [Alison Stine "Trashlands"](https://www.buchhandel.de/buch/9780778311270)
* August: [Lee/Chen "KI 2041"](https://www.buchhandel.de/buch/9783593515496)
* September: [Becky Chambers "A Psalm for the Wild-Built"](https://www.buchhandel.de/buch/9781250236210)
* Oktober: [Robert Charles Wilson "Spin - Die Trilogie"](https://www.buchhandel.de/buch/9783641175092)
* November: [David Koepp "Aurora"](https://www.buchhandel.de/buch/9780008364120)
* Dezember: [Vogt/Vogt "Wasteland"](https://www.buchhandel.de/buch/9783426523919)
## 2021
* Januar: [Cory Doctorow "Wie man einen Toaster überlistet"](https://www.buchhandel.de/buch/9783453320154)
* Februar: [Sylvain Neuvel "Giants - Sie sind erwacht"](https://www.buchhandel.de/buch/9783453316904)
* März: [Marc-Uwe Kling "QualityLand 2.0"](https://www.buchhandel.de/buch/9783550201028)
* April: [Kraftwerk "Mensch-Maschinen-Musik"](https://www.buchhandel.de/buch/9783946595014)
* Mai: [Dirk Peitz "Fernblick: Wie wir uns die Zukunft erzählen"](https://www.buchhandel.de/buch/9783518470275)
* Juni: [Klaudia Zotzmann-Koch "Dann haben die halt meine Daten. Na und?!"](https://www.buchhandel.de/buch/9783751981491)
* Juli: [Tom Hillenbrand "Montecrypto"](https://www.buchhandel.de/buch/9783462001570)
* August: [Davidson/Rees-Mogg "The Sovereign Individual"](https://www.buchhandel.de/buch/9780684832722)
* September: [Wolfgang Jeschke "Der letzte Tag der Schöpfung"](https://www.buchhandel.de/buch/9783641013967)
* Oktober: [John Marrs "The Passengers"](https://www.buchhandel.de/buch/9783453320727)
* November: [Andrew Hunter Murray "The Last Day"](https://www.buchhandel.de/buch/9783492705844)
* Dezember: [Titan Books "The Art and Making of The Expanse"](https://www.buchhandel.de/buch/9781789092530)
## 2020
* Januar: [Yevgeny Zamyatin "We: Introduction by Will Self"](https://www.buchhandel.de/buch/9780099511434)
* Februar: [Sibylle Berg "GRM"](https://www.buchhandel.de/buch/9783462000207)
* März: [James Corey "Leviathan erwacht"](https://www.buchhandel.de/buch/9783453317819)
* April: [Douglas Preston "Dark Zero"](https://www.buchhandel.de/buch/9783426500491)
* Mai: [Alastair Reynolds "Okular"](https://www.buchhandel.de/buch/9783453317543)
* Juni: [William-Hertling "AVOGADRO CORP."](https://www.buchhandel.de/buch/9783958351608)
* Juli: [Janina Loh "Roboterethik - Eine Einführung"](https://www.buchhandel.de/buch/9783518298770)
* August: [Craig Smith "The Car Hackers Handbook"](https://www.buchhandel.de/buch/9781593277031)
* September: [Isaac Asimov "Ich der Roboter"](https://www.buchhandel.de/buch/9783453528420)
* Oktober: [Fabian Navarro "poesie.exe"](https://www.buchhandel.de/buch/9783947106622)
* November: [Tom Hillenbrand "Qube"](https://www.buchhandel.de/buch/9783462054408)
* Dezember: [Sibylle Berg "Nerds retten die Welt"](https://www.buchhandel.de/buch/9783462054606)
## 2019
* Januar: [Christopher Ruocchio "Das Imperium der Stille"](https://www.buchhandel.de/buch/9783453318281)
* Februar: [Daniel Suarez "Bios"](https://www.buchhandel.de/buch/9783499291333)
* März: [Terry Pratchett "Aus der Tastatur gefallen"](https://www.buchhandel.de/buch/9783442487295)
* April: [Daniel Martin Feige "Computerspiele: Eine Ästhetik"](https://www.buchhandel.de/buch/9783518297605)
* Mai: [Andreas Eschbach "NSA - Nationales Sicherheits-Amt"](https://www.buchhandel.de/buch/9783404179008)
* Juni: [Ian McEwan "Maschinen wie ich"](https://www.buchhandel.de/buch/9783257245608)
* Juli: [Berit Glanz "Pixeltänzer"](https://www.buchhandel.de/buch/9783895611926)
* August: [Dietmar Dath "Venus siegt"](https://www.buchhandel.de/buch/9783596296583)
* September: [Andreas Eschbach "Das größte Abenteuer"](https://www.buchhandel.de/buch/9783596701469)
* Oktober: [Christiane-Frohmann "Präraffaelitische Girls erklären das Internet"](https://www.buchhandel.de/buch/9783944195964)
* November: [Helen Stelthove "Pretty Fly For A Wifi"](https://www.buchhandel.de/buch/9783411750498)
* Dezember: [Antonio Garcia Martinez "Chaos Monkeys"](https://www.buchhandel.de/buch/9781785036460)
## 2018
* Januar: [Ray Bradbury "Fahrenheit 451"](https://www.buchhandel.de/buch/9783257208627)
* Februar: [Richard Morgan "Altered Carbon"](https://www.buchhandel.de/buch/9783453318656)
* März: [Marc-Uwe Kling "QualityLand"](https://www.buchhandel.de/buch/9783548291871)
* April: [Malka Older "Infomocracy"](https://www.buchhandel.de/buch/9780765392367)
* Mai: [Marge Piercy "Er, Sie und Es"](https://www.buchhandel.de/buch/9783867544030)
* Juni: [Josefine Rieks "Serverland"](https://www.buchhandel.de/buch/9783446258983)
* Juli: [Eliot Peper "Bandwith - an Analog Novel"](https://www.buchhandel.de/buch/9781503954601)
* August: [Becky Chambers "Der lange Weg zu einem kleinen zornigen Planeten"](https://www.buchhandel.de/buch/9783596035687)
* September: [Dennis E. Taylor "Ich bin viele"](https://www.buchhandel.de/buch/9783453319202)
* Oktober: [Christian Humberg "Geek, Pray, Love"](https://www.buchhandel.de/buch/9783864254611)
* November: [Katharina Nocun "Die Daten, die ich rief"](https://www.buchhandel.de/buch/9783785726204)
* Dezember: [Holger Volland "Die kreative Macht der Maschinen"](https://www.buchhandel.de/buch/9783407865090)
## 2017
* Januar: [Pola Oloixarac "Kryptozän"](https://www.buchhandel.de/buch/9783803132802)
* Februar: [William Gibson "Peripherie"](https://www.buchhandel.de/buch/9783426522066)
* März: [Max Brooks "Minecraft - Die Insel"](https://www.buchhandel.de/buch/9783505140723)
* April: [Clemens J. Setz "Bot"](https://www.buchhandel.de/buch/9783518427866)
* Mai: [Ernest Cline "Armada"](https://www.buchhandel.de/buch/9783596296606)
* Juni: [Jeff Potter "Kochen für Geeks"](https://www.buchhandel.de/buch/9783960090281)
* Juli: [Doron Rabinovici "Die Aussererirdischen"](https://www.buchhandel.de/buch/9783518469354)
* August: [Margaret Atwood "Das Herz kommt zuletzt"](https://www.buchhandel.de/buch/9783492312752)
* September: [Jingfang Hao "Peking falten"](https://www.buchhandel.de/buch/9783942788380)
* Oktober: [Donald Nolet "Kryptogramm"](https://www.buchhandel.de/buch/9783426306321)
* November: [George Orwell "1984"](https://www.buchhandel.de/buch/9783868206074)
* Dezember: [Arkadi Strugatzki "Picknick am Wegesrand"](https://www.buchhandel.de/buch/9783518371701)
## 2016
* Januar: [Miriam Meckel "NEXT"](https://www.buchhandel.de/buch/9783499628368)
* Februar: [Malte Spitz "Was macht ihr mit meinen Daten"](https://www.buchhandel.de/buch/9783455503289)
* März: [Douglas Coupland "Microserfs"](https://www.buchhandel.de/buch/9780007179817)
* April: [Jon Erickson "Hacking"](https://www.buchhandel.de/buch/9783898645362)
* Mai: [Dirk von Gehlen "Meta! Das Ende des Durchschnitts"](https://www.buchhandel.de/buch/9783957572462)
* Juni: [Christian Humberg "Sorge dich nicht, beame!"](https://www.buchhandel.de/buch/9783864250484)
* Juli: [Gene Kim "Phoenix-Projekt: Der Roman über IT und DevOps"](https://www.buchhandel.de/buch/9783958751750)
* August: [Clifford Stoll "Kuckucksei"](https://www.buchhandel.de/buch/9783596307227)
* September: [Georg Milzner "Digitale Hysterie"](https://www.buchhandel.de/buch/9783407864062)
* Oktober: [Jamie Bartlett "The Dark Net"](https://www.buchhandel.de/buch/9783864705953)
* November: [Jaron Lanier "Wem gehört die Zukunft?"](https://www.buchhandel.de/buch/9783455503982)
* Dezember: [Federico Biancuzzi "Visionäre der Programmierung: Die Sprachen und ihre Schöpfer"](https://www.buchhandel.de/buch/9783868996302)
## 2015
* Januar: [Nicolas Beaujouan "Geek"](https://www.buchhandel.de/buch/9783864254437)
* Februar: [Michael Seemann "Das neue Spiel"](https://www.buchhandel.de/buch/9783936086799)
* März: [Karl Olsberg "Das Dorf Band 1: Der Fremde"](https://www.buchhandel.de/buch/9783833232510)
* April: [Steven Levy "Hackers"](https://www.buchhandel.de/buch/9781449388393)
* Mai: [Aleks Krotoski "Untangling the Web"](https://www.buchhandel.de/buch/9780571303663)
* Juni: [Christian Humberg "In 80 Welten durch den Tag"](https://www.buchhandel.de/buch/9783864257940)
* Juli: [Nicole Dornseif "Eltern sein - kurz & geek"](https://www.buchhandel.de/buch/9783868998276)
* August: [Gottfried Wolmeringer "Coding for Fun"](https://www.buchhandel.de/buch/9783836211161)
* September: [Charles Stross "Die Kinder des Saturn"](https://www.buchhandel.de/buch/9783641035174)
* Oktober: [Daniel Suarez "Kill Decision"](https://www.buchhandel.de/buch/9783499259180)
* November: [Tom Hillenbrand "Drohnenland"](https://www.buchhandel.de/buch/9783462046625)
* Dezember: [H. G. Wells "Die Zeitmaschine"](https://www.buchhandel.de/buch/9783868203660)
## 2014
* Januar: [Karl Olsberg "Würfelwelt"](https://www.buchhandel.de/buch/9783833232480)
* Februar: [Dave Eggers "The Circle"](https://www.buchhandel.de/buch/9780345807298)
* März: [Karl Olsberg "Zurück in die Würfelwelt"](https://www.buchhandel.de/buch/9783833232497)
* April: [John Scalzi "Redshirts"](https://www.buchhandel.de/buch/9783453529953)
* Mai: [Nicholas Negroponte "Total Digital"](https://www.buchhandel.de/buch/9783442127214)
* Juni: [Marc Elsberg "ZERO"](https://www.buchhandel.de/buch/9783734100932)
* Juli: [Marc Elsberg "BLACKOUT"](https://www.buchhandel.de/buch/9783442380299)
* August: [Ed Piskor "Wizzywig"](https://www.buchhandel.de/buch/9781603090971)
* September: [Rosenbach/Stark "Der NSA-Komplex"](https://www.buchhandel.de/buch/9783421046581)
* Oktober: [Randall Munroe "What if?"](https://www.buchhandel.de/buch/9783328106906)
* November: [Daniel Suarez "Control"](https://www.buchhandel.de/buch/9783499268632)
* Dezember: [John Brunner "Der Schockwellenreiter"](https://www.buchhandel.de/buch/9783641101480)
## 2013
* Januar: [Passig/Lobo "Internet - Segen oder Fluch"](https://www.buchhandel.de/buch/9783644113015)
* Februar: [Mercedes Bunz "Die stille Revolution"](https://www.buchhandel.de/buch/9783518260432)
* März: [Johnny Haeusler "Netzgemüse"](https://www.buchhandel.de/buch/9783442158713)
* April: [Alois Potton "Abgründe der Informatik"](https://www.buchhandel.de/buch/9783642229749)
* Mai: [Andrew Blum "Kabelsalat"](https://www.buchhandel.de/buch/9783813503883)
* Juni: [Neal Stephenson "Cryptonomicon"](https://www.buchhandel.de/buch/9783894806910)
* Juli: [Neal Stephenson "Snow Crash"](https://www.buchhandel.de/buch/9783641033781)
* August: [Hilmar Schmundt "Hightechmärchen"](https://www.buchhandel.de/buch/9783502150817)
* September: [Georg Seesslen "Die Matrix entschlüsselt"](https://www.buchhandel.de/buch/9783865051516)
* Oktober: [Dirk von Gehlen "Eine neue Version ist verfügbar"](https://www.buchhandel.de/buch/9783849303266)
* November: [Julian Assange "Cypherpunks"](https://www.buchhandel.de/buch/9783593420370)
* Dezember: [McKenzie Wark "Das Hacker-Manifest - A Hacker Manifesto"](https://www.buchhandel.de/buch/9783406528750)
## 2012
* Januar: [Ganz, Ohlig, Vollnhals "Hackerbrause - kurz & geek"](https://www.buchhandel.de/buch/9783868993554)
* Februar: [Shumeet Baluja "Silicon Jungle"](https://www.buchhandel.de/buch/9783518463017)
* März: [Ole Reissmann "We are Anonymous"](https://www.buchhandel.de/buch/9783641083748)
* April: [David Kyle Johnson "Inception and Philosophy"](https://www.buchhandel.de/buch/9781118072639)
* Mai: [Constantin Gillies "Extraleben"](https://www.buchhandel.de/buch/9783981141757)
* Juni: [Ernest Cline "Ready Player One"](https://www.buchhandel.de/buch/9783596522583)
* Juli: [Markus Beckedahl "Die digitale Gesellschaft"](https://www.buchhandel.de/buch/9783423249256)
* August: [Dirk von Gehlen "Mashup"](https://www.buchhandel.de/buch/9783518126219)
* September: [Konrad Lischka "Spielplatz Computer"](https://www.buchhandel.de/buch/9783882291933)
* Oktober: [Jörg Luibl "Spielefresser, Biomonster & Fanboys"](https://www.buchhandel.de/buch/9783981141795)
* November: [Kofler, Kühnast, Scherbeck "Raspberry Pi"](https://www.buchhandel.de/buch/9783836269339)
* Dezember: [Andreas Eschbach "Herr aller Dinge"](https://www.buchhandel.de/buch/9783404177943)
## 2011
* Januar: [Matthias Becker "Datenschatten"](https://www.buchhandel.de/buch/9783936931655)
* Februar: [Cory Doctorow "Little Brother"](https://www.buchhandel.de/buch/9783499257827)
* März: [Marcel Rosenbach "Staatsfeind WikiLeaks"](https://www.buchhandel.de/buch/9783442102372)
* April: [Dreyfus/Assange "Underground"](https://www.buchhandel.de/buch/9783942989008)
* Mai: [Daniel Suarez "Darknet"](https://www.buchhandel.de/buch/9783499252440)
* Juni: [Kurz/Rieger "Die Datenfresser"](https://www.buchhandel.de/buch/9783596190331)
* Juli: [Eckenfels/Hildebrandt "Das Kochbuch für Geeks"](https://www.buchhandel.de/buch/9783897214620)
* August: [Odendahl/Finn/Wenger "Arduino - Physical Computing für Bastler, Designer und Geeks"](https://www.buchhandel.de/buch/9783897219953)
* September: [Stöcker "Nerd Attack!"](https://www.buchhandel.de/buch/9783421045096)
* Oktober: [Douglas Coupland "JPod"](https://www.buchhandel.de/buch/9780747589150)
* November: [Daniel Domscheit-Berg, Tina Klopp "Inside WikiLeaks"](https://www.buchhandel.de/buch/9783548375229)
* Dezember: [Klaus Raab "Wir sind online - wo seid ihr?"](https://www.buchhandel.de/buch/9783641058142)
## 2010
* Oktober: [Charles Stross "Du bist tot"](https://www.buchhandel.de/buch/9783453526877)
* November: [Daniel Suarez "Daemon: Die Welt ist nur ein Spiel"](https://www.buchhandel.de/buch/9783499256431)
* Dezember: [William Gibson "Quellcode"](https://www.buchhandel.de/buch/9783453526808)
## 2009

94
COMIC.mkd Normal file
View file

@ -0,0 +1,94 @@
## 2024
* Januar: [Alejandro Jodorowsky "Die Techno-Väter. Doppelband 1 + 2"](https://www.buchhandel.de/buch/9783987211317)
* Februar: [Sylvain Ferret "Talion 1"](https://www.buchhandel.de/buch/9783967921236)
* März: [Katrin Gal "Radius 1"](https://www.buchhandel.de/buch/9783962193218)
* April: [Snyder/Manapul "Clear"](https://www.buchhandel.de/buch/9783987213090)
* Mai: [Wagner/Hillyard "Vinyl"](https://www.buchhandel.de/buch/9783986661540)
## 2023
* Januar: [Peter Hogan "Resident Alien 1"](https://www.buchhandel.de/buch/9783967922653)
* Februar: [Ladgham/Kounen "Der Turm 1"](https://www.buchhandel.de/buch/9783967923971)
* März: [Leo "Betelgeuse 1"](https://www.buchhandel.de/buch/9783962191955)
* April: [Jean/Valéani "Rock & Stone"](https://www.buchhandel.de/buch/9783958390232)
* Mai: [Remender/Scalero/White "Black Science"](https://www.buchhandel.de/buch/9783958393752)
* Juni: [Mathieu Bablet "Carbon & Silizium"](https://www.buchhandel.de/buch/9783967923957)
* Juli: [Jaouen "Elecboy"](https://www.buchhandel.de/buch/9783967921328)
* August: [Dan Watters "Der Mann, der vom Himmel fiel"](https://www.buchhandel.de/buch/9783986661144)
* September: [Jonathan Rinzler "Alien - Die Entstehungsgeschichte"](https://www.buchhandel.de/buch/9783986664077)
* Oktober: [Leo/Rodolphe "Europa 1 - Der Eismond"](https://www.buchhandel.de/buch/9783967920598)
* November: [Leo/Rodolphe "Morgen 1"](https://www.buchhandel.de/buch/9783987210440)
* Dezember: [Olivier Ledroit "Das dritte Auge 1"](https://www.buchhandel.de/buch/9783967923681)
## 2022
* Januar: [Andreas Kiener "Unvermögen"](https://www.buchhandel.de/buch/9783037312209)
* Februar: [Jonathan Hickman "Decorum"](https://www.buchhandel.de/buch/9783966585460)
* März: [Lob/Legrand/Rochette "Snowpiercer"](https://www.buchhandel.de/buch/9783770401239)
* April: [North/Panetta/Larson "Minecraft, Geschichten aus der Oberwelt"](https://www.buchhandel.de/buch/9783770441334)
* Mai: [Eric Stephenson "Nowhere Men 1"](https://www.buchhandel.de/buch/9783864254000)
* Juni: [Piskor/Dinter "Wizzywig"](https://www.buchhandel.de/buch/9783770455041)
* Juli: [Randall Munroe "XKCD - Volume 0"](https://www.buchhandel.de/buch/9780615314464)
* August: [James Tynion IV. "The Department of Truth"](https://www.buchhandel.de/buch/9783967922547)
* September: [Rodolphe/Marchal "Der Mann, der die Welt erfand"](https://www.buchhandel.de/buch/9783967921748)
* Oktober: [Richard Marazano "Die drei Geister von Tesla 1"](https://www.buchhandel.de/buch/9783958395619)
* November: [Geoff Johns "Geiger 1"](https://www.buchhandel.de/buch/9783966587693)
* Dezember: [Alan Moore "V wie Vendetta"](https://www.buchhandel.de/buch/9783866075054)
## 2021
* Januar: [Mike Mignola "Hellboy 19: Hellboy und die B.U.A.P. 1956"](https://www.buchhandel.de/buch/9783966581158)
* Februar: [Hiroaki Samura "Blade of the Immortal - Perfect Edition"](https://www.buchhandel.de/buch/9783964333711)
* März: [Cixin Liu "Die Wandernde Erde"](https://www.buchhandel.de/buch/9783967920673)
* April: [Henderson/Salvaggio "Clockwerx 1"](https://www.buchhandel.de/buch/9783868692105)
* Mai: [Mathieu Bablet "Shangri-La"](https://www.buchhandel.de/buch/9783967920659)
* Juni: [Christophe Bec "Crusaders"](https://www.buchhandel.de/buch/9783967920444)
* Juli: [Mangin/Bajram "Inhuman"](https://www.buchhandel.de/buch/9783962195830)
* August: [Marazano "Die Chroniken des Universums"](https://www.buchhandel.de/buch/9783962195922)
* September: [Gou Tanabe "H.P. Lovecrafts Die Farbe aus dem All"](https://www.buchhandel.de/buch/9783551722942)
* Oktober: [Sylvain Runberg "Virus Omega 1 - Die Vorherrschaft"](https://www.buchhandel.de/buch/9783966583503)
* November: [Jean-Luc Istin "Androiden 01. Wiederauferstehung"](https://www.buchhandel.de/buch/9783958395688)
* Dezember: [Snyder/Soule "Undiscovered Country 1"](https://www.buchhandel.de/buch/9783966584333)
## 2020
* Januar: [Moebius "Opus"](https://www.buchhandel.de/buch/9783962191832)
* Februar: [Pierre Christin "Valerian und Veronique - Gesamtausgabe"](https://www.buchhandel.de/buch/9783551025500)
* März: [John Fawcett "Orphan Black - Ein Klon ist niemals allein"](https://www.buchhandel.de/buch/9783958391734)
* April: [JP Ahonen "Belzebubs"](https://www.buchhandel.de/buch/9783959810265)
* Mai: [Fred Duval "Reset"](https://www.buchhandel.de/buch/9783962193782)
* Juni: [Marc-Uwe Kling "QualityLand"](https://www.buchhandel.de/buch/9783863912239)
* Juli: [Ange/Renault "Vampire State Building"](https://www.buchhandel.de/buch/9783962195113)
* August: [Jeff Lemire "Descender"](https://www.buchhandel.de/buch/9783958391666)
* September: [Vincent Perriot "Negalyod"](https://www.buchhandel.de/buch/9783551734334)
* Oktober: [Mario Alberti "Die Mauer](https://www.buchhandel.de/buch/9783962195755)
* November: [Frank Herbert "Dune"](https://www.buchhandel.de/buch/9783958394490)
* Dezember: [Trevor Baxendale "Doctor Who Monster-Edition 1"](https://www.buchhandel.de/buch/9783966580168)
## 2019
* Januar: [Greg Rucka "Lazarus"](https://www.buchhandel.de/buch/9783958392182)
* Februar: [Christophe Bec "Eternum"](https://www.buchhandel.de/buch/9783958393219)
* März: [Mike Mignola "The Amazing Screw On Head"](https://www.buchhandel.de/buch/9783959815659)
* April: [Philippe Pelaez "Parallel"](https://www.buchhandel.de/buch/9783958395466)
* Mai: [Greg Rucka "Black Magic"](https://www.buchhandel.de/buch/9783958394780)
* Juni: [Victor Santos "Polar"](https://www.buchhandel.de/buch/9783842013360)
* Juli: [Tsutomu Nihei "BLAME! Master Edition"](https://www.buchhandel.de/buch/9783964332608)
* August: [Leo "Aldebaran"](https://www.buchhandel.de/buch/9783962199883)
* September: [Jerry Frissen "EXO. Band 1"](https://www.buchhandel.de/buch/9783962199203)
* Oktober: [Joe Benitez "Lady Mechanika Band 1"](https://www.buchhandel.de/buch/9783958395206)
* November: [Hiroya Oku "Gantz 1"](https://www.buchhandel.de/buch/9783964330000)
* Dezember: [Benjamin von Eckartsberg "Gung Ho Band 1"](https://www.buchhandel.de/buch/9783864253850)
## 2018
* Januar: [Brian Vaughan "We Stand on Guard"](https://www.buchhandel.de/buch/9783864258367)
* Februar: [Warren Ellis "Transmetropolitan"](https://www.buchhandel.de/buch/9783862014958)
* März: [Philip K. Dick "A Scanner Darkly - Alles wird nicht gut"](https://www.buchhandel.de/buch/9783829602860)
* April: [Brian K. Vaughan "The Private Eye"](https://www.buchhandel.de/buch/9781632155726)
* Mai: [William Gibson "Archangel"](https://www.buchhandel.de/buch/9783959814140)
* Juni: [Masamune Shirow "The Ghost in the Shell"](https://www.buchhandel.de/buch/9783770493807)
* Juli: [Joss Whedon "Serenity - Zwischen den Welten"](https://www.buchhandel.de/buch/9783866079847)
* August: [Francois Schuiten/Benoit Peeters "Nach Paris"](https://www.buchhandel.de/buch/9783943808766)
* September: [Denis Bajram "Death Experience"](https://www.buchhandel.de/buch/9783958390270)
* Oktober: [Christophe Arleston "Morea"](https://www.buchhandel.de/buch/9783939823902)
* November: [Neil Gaiman "American Gods"](https://www.buchhandel.de/buch/9783962196004)
* Dezember: [Christophe Bec "Olympus Mons"](https://www.buchhandel.de/buch/9783962190200)
## 2017

View file

@ -1,6 +1,13 @@
FROM java:8
FROM golang:alpine AS build
COPY . /app
WORKDIR /app
RUN GOOS=linux go build -o bdm src/bdm.go
ADD buchdesmonats-1.5.jar /buchdesmonats/
WORKDIR /buchdesmonats
CMD ["java", "-jar", "buchdesmonats-1.5.jar"]
FROM alpine
WORKDIR /app
COPY ./static /app/static/
COPY ./templates /app/templates/
RUN mkdir /app/covers/
COPY --from=build /app/bdm /app/bdm
EXPOSE 9783
CMD ["./bdm"]

View file

@ -1,19 +0,0 @@
# About
Scrape the book list from the "Book of the month" project and generate a nice
looking visual representation of the book covers.
# Building
lein uberjar
java -jar target/buchdesmonats-1.5-standalone.jar
cp target/buchdesmonats-1.5-standalone.jar buchdesmonats-1.5.jar
docker build -t buchdesmonats .
# Running
Run this periodically:
docker run --rm -v "$PWD/public:/buchdesmonats/public/" buchdesmonats

View file

@ -1,18 +0,0 @@
Copyright (C) 2014-2015 Aaron Fischer <mail@aaron-fischer.net>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

17
README.md Normal file
View file

@ -0,0 +1,17 @@
# Book of the month / Comic of the month
## Deploy
$ git pull
$ docker compose build
$ docker compose up -d
## Sample
* https://buchdesmonats.okoyono.de/
* https://comicdesmonats.okoyono.de/
## Authors
* Aaron Fischer <mail@aaron-fischer.net>
* Michael Reutter <michael@reutter.info>

View file

@ -1,129 +0,0 @@
Handverlesen und für gut befunden seit 2010 von [Michael
Reutter](https://twitter.com/mezzomix22). Jeden Monat ein neues Buch aus seiner
Sammlung zu den Themengebieten Netzkultur, Geektum, Computerspiele und
Cyberpunk. Diese Bücherliste ist mittlerweile Anlaufstelle für so manchen Leser
der nach neuem Lesestoff sucht.
Eine Übersichtsseite mit allen Covern gibt es [hier](https://buchdesmonats.okoyono.de/).
## 2018
* Januar: [Ray Bradbury "Fahrenheit 451"](https://www.lovelybooks.de/autor/Ray-Bradbury/Fahrenheit-451-142592140-w/)
* Februar: [Richard Morgan "Altered Carbon"](https://www.lovelybooks.de/autor/Richard-Morgan/Altered-Carbon-Das-Unsterblichkeitsprogramm-143374520-w/)
* März: [Marc-Uwe Kling "QualityLand"](https://www.lovelybooks.de/autor/Marc--Uwe-Kling-/QualityLand-1455496828-w/)
* April: [Joss Whedon "Serenity - Zwischen den Welten"](https://www.lovelybooks.de/autor/Joss-Whedon/Serenity-Zwischen-den-Welten-410071411-w/)
* Mai: [Marge Piercy "Er, Sie und Es"](https://www.lovelybooks.de/autor/Marge-Piercy/Er-Sie-und-Es-143796880-w/)
* Juni: [Brian K. Vaughan "The Private Eye"](https://www.lovelybooks.de/autor/Brian-K.-Vaughan/Private-Eye-Deluxe-Edition-The-Private-Eye-1534142422-w/)
* Juli: [Eliot Peper "Bandwith - an Analog Novel"](https://www.lovelybooks.de/autor/Eliot-Peper/Bandwidth-An-Analog-Novel-1571402726-w/)
## 2017
* Januar: [Pola Oloixarac "Kryptozän"](https://www.lovelybooks.de/autor/Pola-Oloixarac/Kryptoz%C3%A4n-1238987491-w/)
* Februar: [William Gibson "Peripherie"](https://www.lovelybooks.de/autor/William-Gibson/Peripherie-1286083501-w/)
* März: [Brian Vaughan "We Stand on Guard"](https://www.lovelybooks.de/autor/Brian-Vaughan/We-Stand-on-Guard-1213461680-w/)
* April: [William Gibson "Archangel"](https://www.lovelybooks.de/autor/William-Gibson/Archangel-1415763754-w/)
* Mai: [Ernest Cline "Armada"](https://www.lovelybooks.de/autor/Ernest-Cline/Armada-1355925192-w/)
* Juni: [Jeff Potter "Kochen für Geeks"](https://www.lovelybooks.de/autor/Jeff-Potter/Kochen-f%C3%BCr-Geeks-1244395879-w/)
* Juli: [Masamune Shirow "The Ghost in the Shell"](https://www.lovelybooks.de/autor/Masamune-Shirow/The-Ghost-in-the-Shell-1234831706-w/)
* August: [Margaret Atwood "Das Herz kommt zuletzt"](https://www.lovelybooks.de/autor/Margaret-Atwood/Das-Herz-kommt-zuletzt-1358249641-w/)
* September: [Jingfang Hao "Peking falten"](https://www.lovelybooks.de/autor/Jingfang-Hao/Peking-falten-1430138472-w/)
* Oktober: [Donald Nolet "Kryptogramm"](https://www.lovelybooks.de/autor/Donald-Nolet/Kryptogramm-1446021747-w/)
* November: [George Orwell "1984"](https://www.lovelybooks.de/autor/George-Orwell/1984-60655376-w/)
* Dezember: [Arkadi Strugatzki "Picknick am Wegesrand"](https://www.lovelybooks.de/autor/Arkadi-Strugatzki/Picknick-am-Wegesrand-144344970-w/)
## 2016
* Januar: [Miriam Meckel "NEXT"](https://www.lovelybooks.de/autor/Miriam-Meckel/NEXT-681685074-w/)
* Februar: [Malte Spitz "Was macht ihr mit meinen Daten"](https://www.lovelybooks.de/autor/Malte-Spitz/Was-macht-ihr-mit-meinen-Daten-1210655732-w/)
* März: [Douglas Coupland "Microsklaven"](https://www.lovelybooks.de/autor/Douglas-Coupland/Microsklaven-63436040-w/)
* April: [Jon Erickson "Hacking"](https://www.lovelybooks.de/autor/Jon-Erickson/Hacking-327764409-w/)
* Mai: [Tsutomu Shimomura "Data Zone"](https://www.lovelybooks.de/autor/Tsutomu-Shimomura/Data-Zone-143918980-w/)
* Juni: [Christian Humberg "Sorge dich nicht, beame!"](https://www.lovelybooks.de/autor/Christian-Humberg/Sorge-dich-nicht-beame-1008414075-t/)
* Juli: [Gene Kim "Phoenix-Projekt: Der Roman über IT und DevOps"](https://www.lovelybooks.de/autor/Gene-Kim/Phoenix-Projekt-Der-Roman-%C3%BCber-IT-und-DevOps-Neue-Erfolgsstrategien-f%C3%BCr-Ihre-Firma-1198383355-w/)
* August: [Clifford Stoll "Kuckucksei"](https://www.lovelybooks.de/autor/Clifford-Stoll/Kuckucksei-1207152733-w/)
* September: [Georg Milzner "Digitale Hysterie"](https://www.lovelybooks.de/autor/Georg-Milzner/Digitale-Hysterie-1208944640-w/)
* Oktober: [Philip K. Dick "A Scanner Darkly - Alles wird nicht gut"](https://www.lovelybooks.de/autor/Philip-K.-Dick/A-Scanner-Darkly-Alles-wird-nicht-gut-145054920-w/)
* November: [Jaron Lanier "Wem gehört die Zukunft?"](https://www.lovelybooks.de/autor/Jaron-Lanier/Wem-geh%C3%B6rt-die-Zukunft-1090233300-w/)
* Dezember: [Federico Biancuzzi "Visionäre der Programmierung: Die Sprachen und ihre Schöpfer"](https://www.lovelybooks.de/autor/Federico-Biancuzzi/Vision%C3%A4re-der-Programmierung-Die-Sprachen-und-ihre-Sch%C3%B6pfer-353682781-w/)
## 2015
* Januar: [Nicolas Beaujouan "Geek"](https://www.lovelybooks.de/autor/Nicolas-Beaujouan/Geek-1116762710-t/)
* Februar: [Michael Seemann "Das neue Spiel"](https://www.lovelybooks.de/autor/Michael-Seemann/Das-neue-Spiel-1106924192-t/)
* März: [Karl Olsberg "Das Dorf Band 1: Der Fremde"](https://www.lovelybooks.de/autor/Karl-Olsberg/Das-Dorf-Band-1-Der-Fremde-1130986058-t/)
* April: [Steven Levy "Hackers"](https://www.lovelybooks.de/autor/Steven-Levy/Hackers-384682145-w/)
* Mai: [Aleks Krotoski "Untangling the Web"](https://www.lovelybooks.de/autor/Aleks-Krotoski/Untangling-the-Web-1048300181-t/)
* Juni: [Christian Humberg "In 80 Welten durch den Tag"](https://www.lovelybooks.de/autor/Christian-Humberg/In-80-Welten-durch-den-Tag-1134811726-t/)
* Juli: [Nicole Dornseif "Eltern sein - kurz & geek"](https://www.lovelybooks.de/autor/Nicole-Dornseif/Eltern-sein-kurz-geek-975529216-t/)
* August: [Gottfried Wolmeringer "Coding for Fun"](https://www.lovelybooks.de/autor/Gottfried-Wolmeringer/Coding-for-Fun-1014994768-w/)
* September: [Charles Stross "Die Kinder des Saturn"](https://www.lovelybooks.de/autor/Charles-Stross/Die-Kinder-des-Saturn-223640896-w/)
* Oktober: [Daniel Suarez "Kill Decision"](https://www.lovelybooks.de/autor/Daniel-Suarez/Kill-Decision-973707573-w/)
* November: [Tom Hillenbrand "Drohnenland"](https://www.lovelybooks.de/autor/Tom-Hillenbrand/Drohnenland-1084157364-w/)
* Dezember: [H. G. Wells "Die Zeitmaschine"](https://www.lovelybooks.de/autor/H.-G.-Wells/Die-Zeitmaschine-485947391-w/)
## 2014
* Januar: [Karl Olsberg "Würfelwelt"](https://www.lovelybooks.de/autor/Karl-Olsberg/Würfelwelt-Ein-Minecraft-Roman-1054644236-t/)
* Februar: [Dave Eggers "The Circle"](https://www.lovelybooks.de/autor/Dave-Eggers/The-Circle-1054838179-t/)
* März: [Karl Olsberg "Zurück in die Würfelwelt"](https://www.lovelybooks.de/autor/Karl-Olsberg/Zurück-in-die-Würfelwelt-Ein-Minecraft-Roman-1083709423-t/)
* April: [John Scalzi "Redshirts"](https://www.lovelybooks.de/autor/John-Scalzi/Redshirts-Roman-1080431773-w/)
* Mai: [Nicholas Negroponte "Total Digital"](https://www.lovelybooks.de/autor/Nicholas-Negroponte/Total-digital-143063530-w/)
* Juni: [Marc Elsberg "ZERO"](https://www.lovelybooks.de/autor/Marc-Elsberg/ZERO-Sie-wissen-was-du-tust-1072286884-w/)
* Juli: [Marc Elsberg "BLACKOUT"](https://www.lovelybooks.de/autor/Marc-Elsberg/BLACKOUT-Morgen-ist-es-zu-sp%C3%A4t-801811611-w/)
* August: [Ed Piskor "Wizzywig"](https://www.lovelybooks.de/autor/Ed-Piskor/Wizzywig-1069042585-t/)
* September: [Rosenbach/Stark "Der NSA-Komplex"](https://www.lovelybooks.de/autor/Marcel-Rosenbach/Der-NSA-Komplex-Edward-Snowden-und-der-Weg-in-die-totale-%C3%9Cberwachung-1089051151-t/)
* Oktober: [Randall Munroe "What if?"](https://www.lovelybooks.de/autor/Randall-Munroe/What-if-Was-w%C3%A4re-wenn-Wirklich-wissenschaftliche-Antworten-auf-absurde-hypothetische-Fragen-1110788589-t/)
* November: [Daniel Suarez "Control"](https://www.lovelybooks.de/autor/Daniel-Suarez/Control-1112506491-w/)
* Dezember: [John Brunner "Der Schockwellenreiter"](https://www.lovelybooks.de/autor/John-Brunner/Der-Schockwellenreiter-1280382149-w/)
## 2013
* Januar: [Passig/Lobo "Internet - Segen oder Fluch"](https://www.lovelybooks.de/autor/Kathrin-Passig/Internet-Segen-oder-Fluch-989584306-w/)
* Februar: [Mercedes Bunz "Die stille Revolution"](https://www.lovelybooks.de/autor/Mercedes-Bunz/Die-stille-Revolution-992377364-w/)
* März: [Johnny Haeusler "Netzgemüse"](https://www.lovelybooks.de/autor/Johnny-Haeusler/Netzgemuese-1179581643-w/)
* April: [Alois Potton "Abgründe der Informatik"](https://www.lovelybooks.de/autor/Alois-Potton/Abgrunde-der-Informatik-723381327-t/)
* Mai: [Andrew Blum "Kabelsalat"](https://www.lovelybooks.de/autor/Andrew-Blum/Kabelsalat-952358745-w/)
* Juni: [Neal Stephenson "Cryptonomicon"](https://www.lovelybooks.de/autor/Neal-Stephenson/Cryptonomicon-41092438-w/)
* Juli: [Neal Stephenson "Snow Crash"](https://www.lovelybooks.de/autor/Neal-Stephenson/Snow-Crash-41288882-w/)
* August: [Hilmar Schmundt "Hightechmärchen"](https://www.lovelybooks.de/autor/Hilmar-Schmundt/Hightechmärchen-Die-schönsten-Mythen-aus-dem-Morgen-Land-1054591283-t/)
* September: [Georg Seesslen "Die Matrix entschlüsselt"](https://www.lovelybooks.de/autor/Georg-Seeßlen/Die-Matrix-entschlüsselt-143092240-w/)
* Oktober: [Dirk von Gehlen "Eine neue Version ist verfügbar"](https://www.lovelybooks.de/autor/Dirk-von-Gehlen/Eine-neue-Version-ist-verf%C3%BCgbar-Update-1042916407-t/)
* November: [Julian Assange "Cypherpunks"](https://www.lovelybooks.de/autor/Julian-Assange/Cypherpunks-1019474597-t/)
* Dezember: [McKenzie Wark "Das Hacker-Manifest - A Hacker Manifesto"](https://www.lovelybooks.de/autor/McKenzie-Wark/Das-Hacker-Manifest-A-Hacker-Manifesto-145081610-w/)
## 2012
* Januar: [Ganz, Ohlig, Vollnhals "Hackerbrause - kurz & geek"](https://www.lovelybooks.de/autor/Ganz/Hackerbrause-kurz-geek-836913255-w/)
* Februar: [Shumeet Baluja "Silicon Jungle"](https://www.lovelybooks.de/autor/Shumeet-Baluja/Silicon-Jungle-908098408-w/)
* März: [Ole Reissmann "We are Anonymous"](https://www.lovelybooks.de/autor/Ole-Reissmann/We-are-Anonymous-906289132-w/)
* April: [David Kyle Johnson "Inception and Philosophy"](https://www.lovelybooks.de/autor/David-Kyle-Johnson/Inception-and-Philosophy-716401793-w/)
* Mai: [Constantin Gillies "Extraleben"](https://www.lovelybooks.de/autor/Constantin-Gillies/Extraleben-145091940-w/)
* Juni: [Ernest Cline "Ready Player One"](https://www.lovelybooks.de/autor/Ernest-Cline/Ready-Player-One-885602889-w/)
* Juli: [Markus Beckedahl "Die digitale Gesellschaft"](https://www.lovelybooks.de/autor/Markus-Beckedahl/Die-digitale-Gesellschaft-950641212-w/)
* August: [Dirk von Gehlen "Mashup"](https://www.lovelybooks.de/autor/Dirk-von-Gehlen/Mashup-950293232-w/)
* September: [Konrad Lischka "Spielplatz Computer"](https://www.lovelybooks.de/autor/Konrad-Lischka/Spielplatz-Computer-142819380-w/)
* Oktober: [Jörg Luibl "Spielefresser, Biomonster & Fanboys"](https://www.lovelybooks.de/autor/Jörg-Luibl/Spielefresser-Biomonster-Fanboys-143311130-w/)
* November: [Bartmann "Durchstarten mit Raspberry Pi"](https://www.lovelybooks.de/autor/Erik-Bartmann/Durchstarten-mit-Raspberry-Pi-974816231-w/)
* Dezember: [Andreas Eschbach "Herr aller Dinge"](https://www.lovelybooks.de/autor/Andreas-Eschbach/Herr-aller-Dinge-697173922-w/)
## 2011
* Januar: [Matthias Becker "Datenschatten"](https://www.lovelybooks.de/autor/Matthias-Becker/Datenschatten-375551986-w/)
* Februar: [Cory Doctorow "Little Brother"](https://www.lovelybooks.de/autor/Cory-Doctorow/Little-Brother-224419413-w/)
* März: [Marcel Rosenbach "Staatsfeind WikiLeaks"](https://www.lovelybooks.de/autor/Marcel-Rosenbach/Staatsfeind-WikiLeaks-Wie-eine-Gruppe-von-Netzaktivisten-die-mächtigsten-Nationen-der-Welt-herausfordert-Ein-SPIEGEL-Buch-498953500-w/)
* April: [Dreyfus/Assange "Underground"](https://www.lovelybooks.de/autor/Suelette-Dreyfus/Underground-Die-Geschichte-der-frühen-Hacker-Elite-Tatsachenroman-562945888-w/)
* Mai: [Daniel Suarez "Darknet"](https://www.lovelybooks.de/autor/Daniel-Suarez/DARKNET-593966808-w/)
* Juni: [Kurz/Rieger "Die Datenfresser"](https://www.lovelybooks.de/autor/Constanze-Kurz/Die-Datenfresser-Wie-Internetfirmen-und-Staat-sich-unsere-persönlichen-Daten-einverleiben-und-wie-wir-die-Kontrolle-darüber-zurückerlangen-588023257-w/)
* Juli: [Eckenfels/Hildebrandt "Das Kochbuch für Geeks"](https://www.lovelybooks.de/autor/Petra-Hildebrandt/Das-Kochbuch-für-Geeks-145346990-w/)
* August: [Arduino - Physical Computing für Bastler, Designer und Geeks](https://www.lovelybooks.de/autor/Manuel-Odendahl/Arduino-Physical-Computing-f%C3%BCr-Bastler-Designer-und-Geeks-404199108-w/)
* September: [Stöcker - Nerd Attack!](https://www.lovelybooks.de/autor/Christian-Stöcker/Nerd-Attack-739587097-w/)
* Oktober: [Douglas Coupland - "JPod"](https://www.lovelybooks.de/autor/Douglas-Coupland/JPod-63433499-w/)
* November: [Daniel Domscheit-Berg, Tina Klopp - "Inside WikiLeaks"](https://www.lovelybooks.de/autor/Daniel-Domscheit--Berg-/Inside-WikiLeaks-532707880-w/)
* Dezember: [Klaus Raab - "Wir sind online - wo seid ihr?"](https://www.lovelybooks.de/autor/Klaus-Raab/Wir-sind-online-wo-seid-ihr-589478484-w/)
## 2010
* Oktober: [Charles Stross "Du bist tot"](https://www.lovelybooks.de/autor/Charles-Stross/Du-bist-tot-313822071-w/)
* November: [Daniel Suarez "Daemon: Die Welt ist nur ein Spiel"](https://www.lovelybooks.de/autor/Daniel-Suarez/Daemon-Die-Welt-ist-nur-ein-Spiel-238972300-w/)
* Dezember: [William Gibson "Quellcode"](https://www.lovelybooks.de/autor/William-Gibson/Quellcode-137242490-w/)

12
docker-compose.yml Normal file
View file

@ -0,0 +1,12 @@
version: "3"
services:
webservice:
build: .
image: bdm:latest
restart: always
volumes:
- ./data:/app/covers
ports:
- 127.0.0.1:9783:9783

3
go.mod Normal file
View file

@ -0,0 +1,3 @@
module okoyono.de/buchdesmonats
go 1.20

0
go.sum Normal file
View file

View file

@ -1,17 +0,0 @@
(defproject buchdesmonats "1.5"
:description "A simple tool to fetch all book of the month covers from the okoyono.de project."
:url "https://git.okoyono.de/mezzomix/buch_des_monats"
:license {:name "MIT License"
:url "http://opensource.org/licenses/MIT"}
:dependencies [[org.clojure/clojure "1.9.0"]
[org.clojure/tools.logging "0.4.1"]
[enlive "1.1.6"]
[me.raynes/fs "1.4.6"]
;;; We can't use the current 3.9.0, because there is a outstanding
;;; bug with downloading jpeg files. A PR is already open and should
;;; be merged with 3.10.0. Till then, we need to live with 3.7.0.
;;; https://github.com/dakrone/clj-http/pull/449
[clj-http "3.7.0"]]
:main ^:skip-aot buchdesmonats.core
:profiles {:uberjar {:aot :all}})

241
src/bdm.go Normal file
View file

@ -0,0 +1,241 @@
package main
import (
"fmt"
"io"
"log"
"net/http"
"os"
"regexp"
"strings"
xmltpl "text/template"
)
type Item struct {
ISBN string
FileExtension string
Author string
Title string
Filename string
Date string
}
func (i Item) ImageURL(extension string) string {
return "https://medien.umbreitkatalog.de/bildzentrale_original/" +
i.ISBN[0:3] + "/" +
i.ISBN[3:6] + "/" +
i.ISBN[6:9] + "/" +
i.ISBN[9:13] +
"." + extension
}
func (i Item) targetFilename(extension string) string {
return "covers/" + i.ISBN + "." + extension
}
func (i Item) downloadCover() error {
extension := "jpg"
fmt.Printf("Downloading %v ...\n", i.ImageURL(extension))
resp, err := http.Get(i.ImageURL(extension))
if err != nil {
return err
}
// TODO: refactor later ...
if resp.StatusCode == 404 {
extension = "png"
fmt.Printf("Downloading %v ...\n", i.ImageURL(extension))
resp, err = http.Get(i.ImageURL(extension))
if err != nil {
return err
}
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Fatal("Can not close the response body")
}
}(resp.Body)
if resp.StatusCode != 200 {
return fmt.Errorf("HTTP status code is %d", resp.StatusCode)
}
out, err := os.Create(i.targetFilename(extension))
if err != nil {
return err
}
defer func(out *os.File) {
err := out.Close()
if err != nil {
log.Fatal("Can not close the file")
}
}(out)
_, err = io.Copy(out, resp.Body)
return err
}
func getItems(filename string) []Item {
var items []Item
// Get all book URLS
url := "https://git.okoyono.de/mezzo/buch_des_monats/raw/branch/master/" + filename
resp, err := http.Get(url)
if err != nil {
log.Fatal(filename + " is missing")
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Fatal("Can not close the response body")
}
}(resp.Body)
content, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal("Can not download the file. Network problem?")
}
currentYear := ""
currentMonth := 0
re := regexp.MustCompile(`^[^[]+ \[(?P<author>[^"]+)"(?P<title>[^"]+)"]\(.+buchhandel\.de\/buch\/(?P<isbn>[0-9]+).*$`)
yearRe := regexp.MustCompile(`^## (?P<year>20[0-9]{2})$`)
var yearBucket []Item
for _, line := range strings.Split(string(content), "\n") {
// Do we find a year?
yearMatches := yearRe.FindStringSubmatch(line)
if len(yearMatches) > 0 {
currentYear = yearMatches[1]
currentMonth = 0
// Add the bucket in reverse order
for i := len(yearBucket) - 1; i >= 0; i-- {
items = append(items, yearBucket[i])
}
yearBucket = nil
}
matches := re.FindStringSubmatch(line)
if len(matches) == 4 {
currentMonth++
extension, err := getFileExtension(matches[3])
if err != nil {
log.Printf("%v", err)
}
yearBucket = append(yearBucket, Item{
ISBN: matches[3],
FileExtension: extension,
Author: strings.Trim(matches[1], " "),
Title: strings.Trim(matches[2], " "),
Filename: filename,
Date: fmt.Sprintf("01-%02d-%s", currentMonth, currentYear),
})
}
}
log.Printf("Output all items:")
for _, i := range items {
log.Printf("%v", i)
}
return items
}
func getFileExtension(isbn string) (string, error) {
// List all files in covers directory
// TODO: Cache this line
files, err := os.ReadDir("covers/")
if err != nil {
log.Fatal("Can not read the covers directory")
return "", err
}
for _, file := range files {
if strings.HasPrefix(file.Name(), isbn) {
return strings.Split(file.Name(), ".")[1], nil
}
}
return "", fmt.Errorf("File not found for ISBN: %v", isbn)
}
func getTemplate(sourceFile string, templateFilename string, w http.ResponseWriter) {
// Get all items from the git repo
items := getItems(sourceFile)
// Generate the resulting HTML
t, err := xmltpl.ParseFiles("templates/" + templateFilename)
if err != nil {
panic(err)
}
err = t.Execute(w, map[string]interface{}{
"Items": items,
})
if err != nil {
panic(err)
}
}
func main() {
// All static files (CSS, JS)
fileServer := http.FileServer(http.Dir("./static"))
http.Handle("/static/", http.StripPrefix("/static", fileServer))
// Cover images
imageServer := http.FileServer(http.Dir("./covers/"))
http.Handle("/covers/", http.StripPrefix("/covers", imageServer))
// Update "Hook" /update?filename=COMIC.mkd
http.HandleFunc("/update", func(w http.ResponseWriter, r *http.Request) {
filename := r.URL.Query().Get("filename")
log.Printf("Update hook triggered for %v", filename)
// Get all items from the git repo
items := getItems(filename)
for _, item := range items {
err := item.downloadCover()
if err != nil {
fmt.Printf("%v", err)
fmt.Printf("ERROR: File %s not found\n", item.ImageURL("jpg"))
}
}
})
http.HandleFunc("/book", func(w http.ResponseWriter, r *http.Request) {
log.Print("/book")
getTemplate("BOOK.mkd", "book.html", w)
})
http.HandleFunc("/comic", func(w http.ResponseWriter, r *http.Request) {
log.Print("/comic")
getTemplate("COMIC.mkd", "comic.html", w)
})
http.HandleFunc("/book.xml", func(w http.ResponseWriter, r *http.Request) {
log.Print("/book.xml")
w.Header().Add("Content-Type", "Application/rss+xml")
getTemplate("BOOK.mkd", "book.xml", w)
})
http.HandleFunc("/comic.xml", func(w http.ResponseWriter, r *http.Request) {
log.Print("/comic.xml")
w.Header().Add("Content-Type", "Application/rss+xml")
getTemplate("COMIC.mkd", "comic.xml", w)
})
// Spawn the webserver (blocking)
log.Print("Spawn webserver on port :9783 and waiting for requests ... ...")
err := http.ListenAndServe(":9783", nil)
if err != nil {
panic(err)
}
}

View file

@ -1,101 +0,0 @@
;;; Copyright (C) 2014-2016 Aaron Fischer <mail@aaron-fischer.net>
;;;
;;; Permission is hereby granted, free of charge, to any person obtaining a copy of
;;; this software and associated documentation files (the "Software"), to deal in
;;; the Software without restriction, including without limitation the rights to
;;; use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
;;; the Software, and to permit persons to whom the Software is furnished to do so,
;;; subject to the following conditions:
;;;
;;; The above copyright notice and this permission notice shall be included in all
;;; copies or substantial portions of the Software.
;;;
;;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
;;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
;;; FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
;;; COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
;;; IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
;;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(ns buchdesmonats.core
(:gen-class)
(:require [net.cgrand.enlive-html :as html]
[clj-http.client :as http-client]
[clojure.string :as str]
[clojure.java.io :as io]
[clojure.tools.logging :as log]
[me.raynes.fs :as fs]))
(defn imgurl->bytes [lovelybooks-url]
(let [urls (-> (java.net.URL. lovelybooks-url)
html/html-resource
(html/select [:div.cover-wrapper :> :div.cover :> :img.BookCover])
first
(get-in [:attrs :srcset])
(str/split #" "))
url-to-fetch (last (filter #(re-matches #"http.+\.jpg" %) urls))
stream (http-client/get url-to-fetch {:as :byte-array})]
(:body stream)))
(defn encode-url-part [part]
(java.net.URLEncoder/encode part "UTF-8"))
(defn encode-url [url]
(let [parts (map encode-url-part (re-find #"\/autor\/([^/]+)\/([^/]+)\/?" url))
author (nth parts 1)
book-title (nth parts 2)]
(str "https://lovelybooks.de/autor/" author "/" book-title)))
(defn url->file [lovelybooks-url target-dir]
(let [[_ author title] (re-find #".\/autor\/([^\/]+)\/(.+)-([0-9]+)-.\/$" lovelybooks-url)]
(-> (str author "_" title ".jpg")
str/lower-case
(str/replace #"[^a-z0-9-_.]" "")
(#(io/file target-dir %)))))
(defn scrape-book-urls [datasource-url]
(->> (http-client/get datasource-url {:insecure? true})
:body
str/split-lines
(map #(second (re-find #"^\* .*\[.+\]\((.+)\)" %)))
(remove nil?)))
(defn scrape-book-cover [url target-dir]
(try
(let [target-file (url->file url target-dir)
encoded-url (encode-url url)
bytes (imgurl->bytes encoded-url)]
(with-open [out (io/output-stream target-file)]
(.write out bytes)))
(catch Exception e
(log/info "Problems with " url ", skip it."))))
(defn find-missing-covers [books-url target-dir]
(remove #(fs/exists? (url->file % target-dir))
(scrape-book-urls books-url)))
(html/defsnippet cover-item-model "buchdesmonats/layout.html" [:div#covers :> :div]
[link title]
[:a] (html/set-attr :href link)
[:img] (html/set-attr :src (url->file link "book-covers") :title title))
(html/deftemplate index-template "buchdesmonats/layout.html"
[cover-urls]
[:#covers] (html/content
(map #(cover-item-model % "zu Lovely Books")
cover-urls)))
(defn generate-html [book-urls target-dir]
(let [content (apply str (index-template book-urls))]
(with-open [out (io/writer (io/file "public" "index.html"))]
(.write out content))))
(defn -main [& args]
(let [datasource-url "https://git.okoyono.de/mezzomix/buch_des_monats/raw/master/README.mkd"
target-dir (io/file "public" "book-covers")]
(fs/mkdirs target-dir)
(generate-html (scrape-book-urls datasource-url) "public")
(doall (pmap #(scrape-book-cover % target-dir)
(find-missing-covers datasource-url target-dir)))
(System/exit 0)))

View file

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>okoyono.de -- Buch des Monats</title>
<link rel="stylesheet" href="styles.css">
<script src="vendors/jquery-2.1.0.min.js"></script>
<script src="vendors/masonry-3.1.5.pkgd.min.js"></script>
<script src="vendors/imagesloaded-3.1.4.pkgd.min.js"></script>
<script src="main.js"></script>
</head>
<body>
<h1>Buch des Monats</h1>
<p>Handerlesen und für gut befunden seit 2010
von <a href="https://twitter.com/mezzomix22" rel="author">Michael
Reutter</a>. Jeden Monat ein neues Buch aus seiner Sammlung zu den
Themengebieten Netzkultur, Geektum, Computerspiele und Cyberpunk. Diese
Bücherliste ist mittlerweile Anlaufstelle für so manchen Leser der nach
neuem Stoff sucht. Die Buchcover stammen
von <a href="http://lovelybooks.de/">Lovely
Books</a>, <a href="https://git.okoyono.de/mezzomix/buch_des_monats">der
Code</a> von <a href="https://aaron-fischer.net/">Aaron Fischer</a>.
Ein <a href="https://okoyono.de/">økoyono</a> Projekt.</p>
<div id="covers">
<div class="cover-item">
<a href="#">
<img src="#" alt="LovelyBooks cover" title="Book title">
</a>
</div>
</body>
</html>

View file

@ -1,7 +1,5 @@
@import url(http://fonts.googleapis.com/css?family=Gilda+Display);
body {
background-color: #f5efdb;
background-color: #d3d3d3;
}
h1 {
@ -43,4 +41,4 @@ body > p,
.cover-item img {
width: 265px;
vertical-align: top;
}
}

44
static/comic.css Normal file
View file

@ -0,0 +1,44 @@
body {
background-color: #d3d3d3;
}
h1 {
color: #7D5D5E;
text-align: center;
font-family: 'Gilda Display', serif;
font-size: 6em;
}
a {
color: #3F544B;
}
a:hover {
text-decoration: none;
color: black;
}
body > p {
width: 70%;
border-top: 3px solid #3F544B;
padding: 5px 0 25px 0;
font-family: 'Gilda Display', serif;
}
body > p,
#covers {
margin: auto;
}
.cover-item {
width: 265px;
margin-bottom: 5px;
border: 1px solid #FFE5C6;
}
.cover-item:hover {
opacity: 0.7;
}
.cover-item img {
width: 265px;
vertical-align: top;
}

33
templates/book.html Normal file
View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>okoyono.de -- Buch des Monats</title>
<link rel="stylesheet" href="/static/book.css" />
<script src="/static/vendors/jquery-2.1.0.min.js"></script>
<script src="/static/vendors/masonry-3.1.5.pkgd.min.js"></script>
<script src="/static/vendors/imagesloaded-3.1.4.pkgd.min.js"></script>
<script src="/static/main.js"></script>
<link rel="alternate" type="application/rss+xml" title="RSS-Feed" href="https://buchdesmonats.okoyono.de/feed.xml" />
</head>
<body>
<h1>Buch des Monats</h1>
<p>Handerlesen und für gut befunden seit 2010
von <a href="https://social.okoyono.de/@mezzo" rel="author">Michael
Reutter</a>. Jeden Monat ein neues Buch aus seiner Sammlung zu den
Themengebieten Netzkultur, Geektum, Computerspiele und Cyberpunk. Diese
Bücherliste ist mittlerweile Anlaufstelle für so manchen Leser der nach
neuem Stoff sucht. Die Buchlinks gehen zu <a href="https://buchhandel.de/">buchhandel.de</a>, <a href="https://git.okoyono.de/mezzo/buch_des_monats">der
Code</a> von <a href="https://aaron-fischer.net/">Aaron Fischer</a>.
Ein <a href="https://okoyono.de/">økoyono</a> Projekt. (Eine Seite mit Comicempfehlungen findet Ihr <a href="https://comicdesmonats.okoyono.de">hier</a>)</p>
<div id="covers">
{{ range .Items }}
<div class="cover-item">
<a target="_blank" href="https://www.buchhandel.de/buch/{{ .ISBN }}"><img src="/covers/{{ .ISBN }}.{{ .FileExtension }}" alt="{{ .Author | html }} - {{ .Title | html }}" title="zu buchhandel.de" /></a>
</div>
{{ end }}
</div>
</body>
</html>

26
templates/book.xml Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>okoyono.de -- Buch des Monats</title>
<link href="https://buchdesmonats.okoyono.de/"/>
<updated>{{ (index .Items 0).Date }}T00:00:00Z</updated>
<author>
<name>Michael Reutter</name>
</author>
<id>urn:uuid:{{ (index .Items 0).ISBN }}</id>
{{ range .Items }}
<entry>
<title>{{ .Author | html }} - "{{ .Title | html }}"</title>
<link href="https://www.buchhandel.de/buch/{{ .ISBN }}"/>
<id>urn:uuid:{{ .ISBN }}</id>
<updated>{{ .Date }}T00:00:00Z</updated>
<summary>{{ .Author | html }} - "{{ .Title | html }}</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<img src="https://buchdesmonats.okoyono.de/covers/{{ .ISBN }}.{{ .FileExtension }}"/>
</div>
</content>
</entry>
{{ end }}
</feed>

27
templates/comic.html Normal file
View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>okoyono.de -- Comic des Monats</title>
<link rel="stylesheet" href="/static/comic.css" />
<script src="/static/vendors/jquery-2.1.0.min.js"></script>
<script src="/static/vendors/masonry-3.1.5.pkgd.min.js"></script>
<script src="/static/vendors/imagesloaded-3.1.4.pkgd.min.js"></script>
<script src="/static/main.js"></script>
<link rel="alternate" type="application/rss+xml" title="RSS-Feed" href="https://comicdesmonats.okoyono.de/feed.xml" />
</head>
<body>
<h1>Comic des Monats</h1>
<p>Eine Sammlung mit Comics die <a href="https://social.okoyono.de/@mezzo" rel="author">Michael
Reutter</a> für Empfehlenswert hält. Jeden Monat ein neuer Comic aus seiner Sammlung. Die Links gehen zu <a href="https://buchhandel.de/">buchhandel.de</a>, <a href="https://git.okoyono.de/mezzo/buch_des_monats">der
Code</a> ist von <a href="https://aaron-fischer.net/">Aaron Fischer</a>. Ein <a href="https://okoyono.de/">økoyono</a> Projekt. (Eine Seite mit Buchempfehlungen findet Ihr <a href="https://buchdesmonats.okoyono.de">hier</a>)</p>
<div id="covers">
{{ range .Items }}
<div class="cover-item">
<a target="_blank" href="https://www.buchhandel.de/buch/{{ .ISBN }}"><img src="/covers/{{ .ISBN }}.{{ .FileExtension }}" alt="{{ .Author | html }} - {{ .Title | html }}" title="zu buchhandel.de" /></a>
</div>
{{ end }}
</div>
</body>
</html>

27
templates/comic.xml Normal file
View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>okoyono.de -- Comic des Monats</title>
<link href="https://comicdesmonats.okoyono.de/"/>
<updated>{{ (index .Items 0).Date }}T00:00:00Z</updated>
<author>
<name>Michael Reutter</name>
</author>
<id>urn:uuid:{{ (index .Items 0).ISBN }}</id>
{{ range .Items }}
<entry>
<title>{{ .Author | html }} - "{{ .Title | html }}"</title>
<link href="https://www.buchhandel.de/buch/{{ .ISBN }}"/>
<id>urn:uuid:{{ .ISBN }}</id>
<updated>{{ .Date }}T00:00:00Z</updated>
<summary>{{ .Author | html }} - "{{ .Title | html }}"</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<img src="https://comicdesmonats.okoyono.de/covers/{{ .ISBN }}.{{ .FileExtension }}"/>
</div>
</content>
</entry>
{{ end }}
</feed>