The content is, most of the time, written using [Mโ]
Markdown and served by nanoc
.
This website is available at https://lecture.opatry.net/ using ๐ฅ Firebase hosting.
$ gem install bundler
$ bundle install
$ bundle exec nanoc compile
$ npm install
$ ./node_modules/.bin/firebase deploy --only hosting
- export data from SC/Babelio instead of scrapping
- clean JS (use const & let instead of var, normalize quotes, colon etc)
- book release date
- og:title improvement & prez in WhatsApp & Slack demo (test with https://www.opengraph.xyz/ or https://opengraph.dev/ or https://toolsaday.com/seo/open-graph)
- desc Recommended length: 150 - 160 characters
- image Recommended dimension: 1200 x 630 pixels (+ not simple cover, ideally fancy rendering (with cover) and text for attractiveness)
- emoji book redundant with favicon, only keep it in index/home page title
- no index etc. (see https://toolsaday.com/seo/noindex-checker)
- image multi res & responsive (
- clean CSS
- stars themed with CSS and value tweak, maybe custom star formatter to make it styleable or submit a feature request or a PR to tabulator
- avatar picture with real photo
- Add span for serie prefix "(.+), tome \d+:" + In responsive compact mode, hide it.
Scraps Sens Critique and Babelio readings to generate a static site with fetch & consolidated data.
- Kotlin
- Coroutines
- Kodein-DI for dependency injection.
- Ktor HTTP client.
- Kotlin first class
- Coroutines
- Gson for Json/Object marshalling/un-marshalling.
- JUnit for unit & integration tests.
Authentication with OAuth 2.0. Alternatively, use an API Key
See https://developers.google.com/books/docs/v1/using
Add credentials (Web, to allow customizing redirect URI and in particular port)
- https://console.cloud.google.com/apis/credentials?project=<MY_PROJECT>
- Store resulting JSON file in the resources of the project
Enable Google Books API Library
- https://console.cloud.google.com/apis/library?project=<MY_PROJECT>&q=books%20api or directly
- https://console.cloud.google.com/apis/library/books.googleapis.com?project=<MY_PROJECT>
API reference