5.10 Ροή Εργασίας
5.10 Ροή Εργασίας της Διαδικασίας Build (Build Process Workflow)
Η διαδικασία Build αναφέρεται στο σύνολο των βημάτων που μετατρέπουν τον πηγαίο κώδικα (αρχεία Markdown, Vue Components) σε τελικά, στατικά αρχεία HTML, CSS και JavaScript, έτοιμα για φιλοξενία (hosting). Στην περίπτωση του MyThesis, η ροή εργασίας ακολουθεί τα στάδια του VuePress και βασίζεται στον διαχειριστή πακέτων npm.
5.10.1 Αρχική Διάταξη και Εξαρτήσεις (Initial Setup and Dependencies)
Σε αυτήν την υποενότητα περιγράφονται τα θεμελιώδη εργαλεία και η οργάνωση του περιβάλλοντος, σύμφωνα με τα βήματα εγκατάστασης που περιγράφονται στην Ενότητα 5.6.
5.10.1.1 Περιβάλλον Εκτέλεσης (Runtime Environment - Node.js)
Το Node.js αποτελεί το βασικό περιβάλλον εκτέλεσης (runtime environment), απαραίτητο για την εκτέλεση του VuePress. Μέσω του ενσωματωμένου διαχειριστή πακέτων npm, γίνεται η εγκατάσταση όλων των εξαρτήσεων (dependencies), συμπεριλαμβανομένου του VuePress και του Theme Hope. Η επιλογή του npm εξασφαλίζει τη συμβατότητα και τη σταθερότητα των εκδόσεων πακέτων που χρησιμοποιούνται στο έργο.
5.10.1.2 Δομή Καταλόγων (Directory Structure)
Η διαδικασία Build εκκινεί από τον κύριο κατάλογο του έργου. Τα αρχεία Markdown της τεκμηρίωσης βρίσκονται στον κατάλογο docs/, ενώ τα αρχεία ρυθμίσεων του VuePress (π.χ. config.ts, theme.ts) βρίσκονται στον υποκατάλογο .vuepress/. Αυτή η σαφής ιεραρχία είναι κρίσιμη για την επιτυχή εκτέλεση της Build εντολής.
5.10.2 Διαδικασία Ανάπτυξης και Επαλήθευσης (Development and Verification Process)
Αυτό το στάδιο περιλαμβάνει τις τοπικές ενέργειες που επιτρέπουν την ανάπτυξη, τη συγγραφή και τον άμεσο έλεγχο των αλλαγών.
5.10.2.1 Τοπική Εκτέλεση και Προεπισκόπηση (Local Execution and Preview)
Για την αποδοτική συγγραφή της εργασίας MyThesis, χρησιμοποιείται η εντολή:
npm run docs:dev
Αυτή η εντολή εκκινεί τον Development Server, ο οποίος παρέχει:
- Hot Reload: Κάθε αλλαγή στα αρχεία Markdown ή στις ρυθμίσεις του Vue Components ενημερώνεται αυτόματα στον φυλλομετρητή (browser) χωρίς να απαιτείται χειροκίνητη ανανέωση. Αυτό επιταχύνει σημαντικά τη διαδικασία συγγραφής και διόρθωσης.
- Περιβάλλον Εντοπισμού Σφαλμάτων: Διευκολύνει τον εντοπισμό και την άμεση επίλυση τυχόν σφαλμάτων στη σύνταξη Markdown ή στις ρυθμίσεις του Frontmatter/Theme.
5.10.2.2 Δέσμευση Αλλαγών (Change Committing - Προαιρετική Χρήση Git)
Σε έργα όπου είναι ενεργοποιημένο το Συστήμα Ελέγχου Εκδόσεων (Version Control System), όπως το Git, αυτό το βήμα περιλαμβάνει τη δέσμευση (commit) των αλλαγών με σαφή μηνύματα. Αν και δεν χρησιμοποιείται στο τρέχον περιβάλλον του MyThesis, η δυνατότητα αυτή είναι θεμελιώδης για τη διατήρηση ιστορικού αλλαγών και τη συνεργασία σε μεγαλύτερα έργα πληροφορικής.
5.10.3 Διαδικασία Build Παραγωγής (Production Build Process)
Το στάδιο αυτό είναι το πλέον κρίσιμο, καθώς δημιουργεί το τελικό, βελτιστοποιημένο περιεχόμενο του MyThesis για τη δημοσίευση.
5.10.3.1 Εκτέλεση της Βελτιστοποιημένης Build Εντολής
Η μετατροπή σε αρχεία παραγωγής (production) γίνεται μέσω της εντολής:
npm run docs:build
Η εντολή αυτή καλεί τον VuePress Bundler (συνήθως Vite ή webpack), ο οποίος αναλαμβάνει τη σύνθετη εργασία της επεξεργασίας:
5.10.3.2 Λεπτομερής Ανάλυση Περιεχομένου και Μετατροπής
Η διαδικασία build περιλαμβάνει τα ακόλουθα στάδια:
- Markdown Compilation: Κάθε αρχείο
.mdμετατρέπεται σε HTML. Σε αυτό το στάδιο, εφαρμόζονται οι ρυθμίσεις του Frontmatter και οι πρόσθετες λειτουργίες του Theme Hope (π.χ. κρυπτογράφηση, Breadcrumbs, εικονίδια). - Vue Component Rendering: Τα Vue Components που χρησιμοποιούνται εντός του Markdown ή του θέματος (π.χ. custom containers, widgets) μετατρέπονται σε τελικό HTML/JavaScript.
- CSS/JavaScript Bundling: Όλα τα αρχεία CSS και JavaScript (τόσο του θέματος όσο και του VuePress Core) συνδυάζονται (bundled) και συμπιέζονται (Minification). Αυτό μειώνει τον αριθμό των αιτημάτων στον server και βελτιώνει την ταχύτητα φόρτωσης της τελικής εργασίας.
- Asset Handling: Εικόνες, γραμματοσειρές (fonts) και άλλα στατικά αρχεία αντιγράφονται στον τελικό κατάλογο, συχνά με hashing στα ονόματά τους για την αποφυγή προβλημάτων caching.
5.10.3.3 Κατάλογος Έξοδου Διανομής (Distribution Output Directory)
Το τελικό αποτέλεσμα όλων των παραπάνω βημάτων αποθηκεύεται στον κατάλογο .vuepress/dist/. Αυτός ο φάκελος περιέχει πλέον μόνο στατικά αρχεία (HTML, CSS, JS, Assets) και είναι ο μόνος που απαιτείται για την τελική δημοσίευση.
5.10.4 Ανάπτυξη και Δημοσίευση (Deployment and Publishing)
Το τελευταίο βήμα είναι η μεταφορά του καταλόγου dist στον τελικό server φιλοξενίας.
5.10.4.1 Μέθοδοι Ανάπτυξης
Η δημοσίευση μπορεί να γίνει:
- Χειροκίνητα: Αντιγραφή του περιεχομένου του φακέλου
distστον web server (π.χ. μέσω SFTP/FTP). - Αυτόματα (CD - Continuous Deployment): Χρησιμοποιώντας υπηρεσίες όπως το Netlify ή το Vercel, οι οποίες μπορούν να συνδεθούν με το αποθετήριο Git (αν υπήρχε) και να εκτελέσουν αυτόματα τη διαδικασία build και δημοσίευσης, εξασφαλίζοντας ότι η online έκδοση του MyThesis είναι πάντα ενημερωμένη.