Coder Social home page Coder Social logo

tomsrocket / ausflugziele-muenster Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 4.03 MB

Ausflugziele und Ideen für Unternehmungen für Familien für's Wochenende, ob bei Regen oder bei gutem Wetter.

Home Page: https://www.familien-muenster.de

JavaScript 34.62% HTML 38.53% CSS 26.72% Shell 0.13%

ausflugziele-muenster's Introduction

Quellcode zum Familien-Kompass Münster

Adresse: https://www.familien-muenster.de

Hintergrund

Ich hatte schon länger die Idee, eine Webseite für Familien in Münster zu machen. Hauptsächlich wegen Eigenbedarf: Zuerst fehlten uns Infos zu Wickelplätzen in der Innenstadt, später war dann eher wichtig, wo kann man gut mit kleinen Kindern essen gehen, und zuletzt: Was können wir mit den Kindern an verregneten Wochenenden unternehmen?

Es sollte also am besten ein Nachschlagwerk sein, das Links zu verschiedenen familienrelevanten Themengebieten enthält.

Nachdem ich an der Umsetzung von zwei anderen Projekten beteiligt war (mein-ms.de, spassmitdaten.de) kam mir dann der Geistesblitz, wie ich es am einfachsten umsetzen kann:

  • Ein Google-Spreadsheet, das die Links enthält
  • Ein Skript, das das Google-Spreadsheet ausliest, und daraus Markdown-Dateien erstellt
  • Ein Website-Generator, der daraus eine statische Webseite erstellt

Für letzteren Punkt kam sehr vieles in Frage, ich habe mich letztendlich für "Hugo" entschieden.

TL;DR

Dieses Repository generiert meine Familien-Unternehmungen-Seite ("familien-muenster.de") aus einem Google Spreadsheet.

Entwicklungs-Anleitung

Setup

  • Die Datei scripts/config/config.json anlegen mit der spreadsheetCsvUrl
  • Falls man auch deployen will, dann auch die scripts/config/config.deploy.sh anlegen
  • Hugo installieren: https://gohugo.io/

Generieren der Webseite

Hinweis: Wenn man "npm run generate" aufruft, werden nach und nach alle Screenshots erstellt. Dabei poppt immer ein Browserfenster auf, in dem man den Cookiehinweis wegklicken kann, wenn man schnell genug ist. Fünf Sekunden Zeit hat man, theoretisch kann man sich auch noch weiter durchklicken oder zum Ausschnitt scrollen, den man gern auf dem Screenshot haben möchte.

    # Ins Unterverzeichnis "scripts" wechseln
    cd scripts

    # Google Spreadsheet auslesen, Markdownfiles erstellen, Screenshots erzeugen
    npm run generate

    # Bildgrößen optimieren bzw. Thumbnails erstellen
    npm run thumbnails

    # Statische HTML-Seiten generieren
    npm run build

    # Statische Seiten auf Server hochladen
    npm run deploy

Development-Server laufen lassen:

    hugo serve

Danach kann man diese Url ausprobieren: http://localhost:1313/

Zu beachten ist, dass das nur mittel gut funktioniert und nach manchen Änderungen (Content-Dateien z.B.) der Server manuell neugestartet werden muss.

How does it work

Das Skript read-public-google-spreadsheet.js, das man mit npm run generate laufen lassen kann, tut folgendes:

  • CSV-Datei downloaden von der Url die in config.json hinterlegt ist
  • Für jede Zeile aus der CSV wird eine Markdown-Datei angelegt im Verzeichnis /content/posts
  • Bildschirmfotos der URLs (Spalte 2) erzeugen und ablegen in /static/images/posts
  • Dann kann man mit npm run thumbails die Thumbnails generieren, die werden dann auch unter /static/images abgelegt.

Link-Resourcen

ausflugziele-muenster's People

Contributors

tomsrocket avatar

Stargazers

 avatar

Watchers

 avatar  avatar

ausflugziele-muenster's Issues

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.