Code Monkey home page Code Monkey logo

ln-base's Introduction

ln-base

Hugo theme for all lokal-ninja sites

Setup

# Clone a small lokal-ninja site, for example Bremen
git clone https://github.com/lokal-ninja/bremen.git
# Checkout submodule
git submodule update --init
# Update submodule to latest origin master
git submodule update --remote --merge
# Launch hugo dev environment
hugo serve
# Done! Site is now available at http://localhost:1313/bremen/

ln-base's People

Contributors

midzer avatar reyhhan avatar umargit avatar

Watchers

 avatar  avatar

ln-base's Issues

Add lastmod to sitemap

In order to improve search engine crawling it might be good to add <lastmod> to each page in sitemap.xml for each repo:

  • Create an own sitemap.xml template file in layouts/_default/
  • Set enableGitInfo = true in config.toml

City should be kept

After every search, selected city is reset and I have to select it again for the next search. It should be kept instead for the next search until I select another one.

Invert search “what do you want to find?” -> “where”

Usually the user would open shoogle because they are searching for something and don’t want to use Amazon to buy it.

So I suggest to invert the fields to first show the category and then the city.

The city could be pre-filled, based on the city that was searched in last time (via localStorage).

The city dropdown could also keep the last 2–5 entries to make lookups easier (compare DB Navigator app for train station selection).

Mention how to add entries on city details page

On the front page, you mention Openstreetmap and that missing entries should be added there. I think it would be a good idea to also do that on the individual city listings, near the end of the page, e.g. "Missing an entry? Please add it to the free database at OpenStreetMap!", "Help improve the public data set by adding missing entries at OpenStreetMap" or something along those lines.

Category icons

Gather fancy (preferably .svg) icons for all categories.
Still open for discussion where to put them, but there should be places where a tiny icon may help to distinguish shops from each other.

Filter categories

Implement simple, instant filtering via input element for categories list which might get crowded for big cities

Improve accessibility

We have problems

  • in https://shoogle.net/overview/ page -> either move <object> to bottom or make it not visible to screen readers
  • all other pages due inaccessible search combo boxes (combo box is emtpy after click) -> either hide for screen readers or find a way to make it accessible, i.e. give a hint that data is been loaded and you have to type something to filter for results

Introduce technology page

I think it's time to show the world what awesome free & open source technologies are used to serve Shoogle.

Make an individual markdown page and list all of them. Put a direct link "Technologies" in footer.

Allow city only selection in search

Right now, we have to select city AND category/shop to use search functionality.

-> Allow selection of only city and make category/shops optional

To accomplish this we have to modify app.js and search bar text to "1. Place, (Category / Shop), 2. Finish"

World map

Introduce an SVG world map like https://github.com/benhodgson/markedup-svg-worldmap below region columns on each start page.

Use inline JS to

  • fill available LN site counties with theme color
  • set window.location onclick for respective country to jump to respective site

Store map.svg in theme assets folder.

Static bottom banner

In order to support other (global) FOSS projects, we could introduce a horizontal image at the bottom of each page.

<a href="https://xyz.com" rel="nofollow noopener">
  <img loading="lazy" src="/img/xyz.png" alt="Banner of xyz.com">
</a>

Write README

Write a README.md to add documentation and help newcomers.

Reference: #8

Tweak scroll to bottom treshold

Right now, entries list is expanded automatically for chromium based browser if it is scrolled completely to the bottom.

For mobile this can lead to a bad user experience, because immidiately after expansion kicks in scrolling is stopped and the focus is lost.

(Possible) solution: try to modify the treshold when expansion is executed, i.e. several pixel above the bottom.

Mention employer in footer

Extend company info in footer with my employer:

  • und mit freundlicher Unterstützung von
  • and with kind support from
  • et avec l'aimable soutien de

Consider postcode in search

It might be a good idea to have the opportunity to search for postcode, too.
This way double city name entries can be better destinguised from each other.

Split bigger cities

Maybe it is a good idea to split up bigger cities in smaller regions.
This would lead to way smaller city pages which helps performance on mobile.

This has to be done in backend pre-processing.
Investigate possiblities and opportunities here.

Category pages

Introduce category pages to show locations of specific category in map.
Evaluate whether this can be done on startpage or region pages likewise

Don't connect shoutbox on page load

I think it's not worth it for the shoutbox to connect to the server on page load just to show a posts number. People how are curious about reading/writing in the shoutbox will open it in any case, even without an arbitrary digit shown.

So, better spare some CPU/resources and don't connect on page load at all. Instead, do it when user opens the shoutbox.

Category buttons

Right now, category buttons are very crowded and thus not optimal clickable in mobile.

Try to adjust their CSS via:

.categories > button {
    padding: 3px 6px;
    margin: 0 0.5rem 0.5rem 0;
}

Shop open banner

Parse opening hours (if available) via JS and show a fancy banner whether shop is open right now

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.