Giter Site home page Giter Site logo

dreadwarrior / dreadwarrior.github.io Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 28.69 MB

Personal landing page and book tracker.

Home Page: https://van-tomas.de

License: MIT License

HTML 57.20% SCSS 35.48% JavaScript 6.92% Java 0.40%
books-management bookshelf htmx hugo purecss reading static-website

dreadwarrior.github.io's People

Contributors

dreadwarrior avatar

Stargazers

 avatar

Watchers

 avatar  avatar

dreadwarrior.github.io's Issues

Make booklist clearly visible

When entering a single book page from an RSS feed reader, it is not obvious to the user in which booklist the book is assigned to.

While completed books use a ribbon in their corner, nothing similar exists for wishlist books.

Introduce paging on bookshelf term pages

The more books are added, the more lengthy a bookshelf term page becomes.

Paging should solve that issue.

  • Introduce paging by using a paginator and render 12 items per page.
  • A solution must be found to keep the topic filter working.
    • This may be accomplished, by generating a JSON file and using (custom) JavaScript for rendering bookshelf items on-demand.

Improve documentation about current available book title retrieval

Documentation in README.md describes how to add a new book and / or review.

What's left untold, is that currently, the book title data retrieval is performed against a german bibliographic catalog.

  • It should be noted, that only german ISBN-13 lookups are available.

Improve UX for topic navigation

A user may be confused, when following a topic link of a book detail page.

There are some ideas to mitigate this already:

  • Provide a anchor link to the respective section on the topic page (e.g. add #wishlist to the topic link).
  • Use tabbed navigation UI on the topic page (would perhaps require an anchored navigation, too).

Ensure Hugo's getresource cache maxAge doesn't change

Due to not have to store remote data within the VCS, this project is using remote resources.

To ensure, that remote systems are not queried too often,
this decision relies on Hugo's default cache eviction setting of "forever"1
for the getresource cache.

It can be introspected by issuing the following command:

hugo config --format json | jq .caches.getresource.maxage

In order to ensure, this setting is not changed accidentally or intentionally,
it should be added to the CI pipeline as a assumption build step.

Switch default language to german

Notes:

  • Introduce config/languages.toml.
    • Disable english language, enable german language.
  • Update languageCode in config/config.toml.
  • Add defaultContentLanguage to config/config.toml.
  • Update title in config/config.toml.
  • Introduce content/_index.md and introduce greeting param in front matter, will be eval'd in theme's index template.
  • Translate & rephrase introduction.html.

Normalize SMACSS and BEM CSS rules

This is currently chaotic because Pure.css uses SMACSS,
while custom CSS rules should adhere to BEMS rules.

Use:

  • SMACSS when dealing with Pure.css elements, e.g. xyz-u / abc-g for grid and grid unit elements.
  • BEM when dealing with custom elements.

Improve light / dark theme usage for tooltips

According to section "Dark Mode Shadows" of A Complete Guide to Dark Mode on the Web :

  • Close elements should still be lighter and
  • distant elements should still be darker – even in a dark UI.

(see Tw*tter embed).

This is not properly achieved now and must be fixed.


The challenge becomes visible, when using Dark Mode and using the tooltip control elements.

See also section "Technique #5: Applying a large box shadow to a modal" at https://tympanus.net/codrops/2013/11/07/css-overlay-techniques/.

Introduce light / dark theme switch function

Based on https://alexandersandberg.com/articles/creating-a-website-theme-switcher-with-css-only/

Notes:

  • Introduce colors.light and colors.dark to Hugo configuration.
  • Copy scss assets from hallo theme to assets/scss/hallo.
  • Replace existing color variables by var() functions.
  • Move CSS properties color and background-color of body to #page selector.
  • Remove margin from body, html selector.
    • Move to padding of #page selector.
  • Apply a min-height to #page selector for short content.
  • Remove margin-left "corrections" of h1 and h2 in .column .right selector.
  • Introduce select element styling based on https://codepen.io/raubaca/pen/bGWmZje.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.