balourdos / MemonomenaPeristatika.gr

Μεμονωμένα Περιστατικά αστυνομικής βίας
https://memonomenaperistatika.gr
GNU General Public License v3.0
79 stars 13 forks source link

Autogenerate static site using GitHub actions #14

Closed arvchristos closed 3 years ago

arvchristos commented 3 years ago

Θα μπορούσατε, αφού σκοπεύετε να ανεβάζετε το csv, να χρησιμοποιήσετε τα GitHub actions και να κάνετε αυτόματα generate το site.

Αν σκεφτείτε να πάτε προς τα εκεί μπορώ να βοηθήσω προφανώς.

balourdos commented 3 years ago

Ανεβάσαμε το CSV μόλις τώρα!

Δεν είμαι όμως βέβαιος τι εννοείς: το site είναι auto-generated από το CSV. Αφού είμαστε hosted σε github pages, το deployment process είναι απλά να κατεβάσουμε το τελευταίο CSV από το google sheets στο οποίο πάνε οι απαντήσεις, να τρέξουμε το script και να κάνουμε commit/merge στο master.

arvchristos commented 3 years ago

Εννοουσα να μη χρειάζεται να εκτελειτε generate και μετα commit to master. Απλα να κάνετε commit το CSV και execute το action (ή να το κάνετε schedule να τρέχει ανα κάποιο χρονικό διάστημα ).

Γενικά όπως πάμε θα έρχονται αρκετά entries οποτε ίσως να καταντήσει αγγαρεία το manual generate και commit to master.

balourdos commented 3 years ago

Κατάλαβα - καλή ιδέα.

Είμαστε στο process που σκεφτόμαστε μήπως χρειαστούμε τελικά server-side page rendering. Συγκεκριμένα, θέλουμε να έχουμε ένα video view page που θα έχει ένα permalink, το οποίο αν το κάνεις share στα social media πρέπει να έχει διαφορετικά metadata για τον τίτλο, την περιγραφή και την εικόνα της σελίδας. Αυτό θα μας υποχρέωνε να φύγουμε από το github pages. Σε αυτή τη περίπτωση το deployment process θα αλλάξει αρκετά, και εκεί σίγουρα θα θέλουμε github actions για να κάνουμε automate τα deployments.

Ένα σύντομο overview του τι κάναμε τις τελευταίες μέρες και τι σκεφτόμαστε να κάνουμε τις επόμενες είναι το εξής:

  1. Self-host all videos (done - είναι όλα στο cloudinary τώρα)
  2. Embed videos in the page (done since last night)
  3. Move away from cloudinary to a cheaper cloud hosting provider (likely AWS), as we're already exceeding our free cloudinary quota and cloudinary is expensive. (WIP)
  4. Build a small single-page react app that has an index page listing all incidents, and a view-incident page with a permalink for each incident. (WIP)
  5. (Potentially) move out of github pages to somewhere where we can dynamically render pages server-side in order to apply <meta> og: tags correctly.

Νομίζω αν είναι να βάλουμε github actions, κολλάει πολύ με το (5).

Φυσικά κάθε βοήθεια είναι ευπρόσδεκτη!

pkakelas commented 3 years ago

Integrated Vercel Deployments: https://vercel.com/