Στο Look Scanned, βελτιώνουμε συνεχώς την υποδομή μας για να παρέχουμε καλύτερη τεκμηρίωση και πιο ασφαλείς πρακτικές ανάπτυξης. Σήμερα, είμαστε ενθουσιασμένοι να μοιραστούμε λεπτομέρειες σχετικά με μια σημαντική αναβάθμιση στον ιστότοπο τεκμηρίωσης How-To: τη μεταφορά από μια προσαρμοσμένη εφαρμογή Vue + Vite σε VitePress, ενώ ταυτόχρονα ενισχύουμε την ασφάλεια CI/CD μας με npm Trusted Publishers.
📚 Γιατί μεταφερθήκαμε στο VitePress
Ο ιστότοπος τεκμηρίωσης How-To μας (github.com/lookscanned/how-to) λειτουργεί ως ολοκληρωμένος οδηγός χρήσης για το Look Scanned. Ενώ η προηγούμενη ρύθμιση Vue + Vite λειτουργούσε καλά, αναγνωρίσαμε ότι το VitePress θα ήταν καλύτερη επιλογή για έναν ιστότοπο τεκμηρίωσης με επίκεντρο το περιεχόμενο.
Τι είναι το VitePress;
Το VitePress είναι ένας γεννήτορας στατικών ιστοτόπων σχεδιασμένος ειδικά για τεκμηρίωση. Χτισμένο πάνω στο Vite και Vue 3, συνδυάζει το καλύτερο και από τους δύο κόσμους: εμπειρία ανάπτυξης με ταχύτητα φωτός με ισχυρές λειτουργίες τεκμηρίωσης έτοιμες προς χρήση.
Βασικά οφέλη της μεταφοράς
🎯 Καλύτερη αρχιτεκτονική για τεκμηρίωση
- Δρομολόγηση βασισμένη σε αρχεία: Κάθε αρχείο markdown γίνεται αυτόματα μια σελίδα, καθιστώντας την οργάνωση περιεχομένου διαισθητική
- Ενσωματωμένες λειτουργίες τεκμηρίωσης: Πίνακας περιεχομένων, αναζήτηση, διεθνοποίηση και άλλα έρχονται προρυθμισμένα
- Δημιουργία στατικού ιστοτόπου: Το προ-αποδοθέν HTML παρέχει εξαιρετικό SEO και άμεση φόρτωση σελίδων
⚡ Βελτιωμένη εμπειρία προγραμματιστή
- Άμεση ενεργή επαναφόρτωση: Οι αλλαγές εμφανίζονται αμέσως κατά την ανάπτυξη
- Markdown πρώτα: Εστιάστε στο περιεχόμενο, όχι στο σκελετό στοιχείων
- Υποστήριξη στοιχείων Vue: Όταν χρειάζεται, μπορούμε ακόμα να χρησιμοποιήσουμε προσαρμοσμένα στοιχεία Vue μέσα στο markdown
🔧 Ευκολότερη συντήρηση
- Σαφέστερη δομή: Η τεκμηρίωση ακολουθεί συμβάσεις, μειώνοντας το γνωστικό φορτίο για τους συνεισφέροντες
- Πιο σταθερές κατασκευές: Η δομή με γνώμη του VitePress οδηγεί σε πιο αναπαραγώγιμες κατασκευές
- Καλύτερη συνεργασία: Τα μέλη της ομάδας μπορούν να συνεισφέρουν στην τεκμηρίωση χωρίς βαθιά γνώση Vue
🔒 Βελτιωμένη ασφάλεια με npm Trusted Publishers
Παράλληλα με τη μεταφορά VitePress, υλοποιήσαμε μια κρίσιμη βελτίωση ασφαλείας: npm Trusted Publishers χρησιμοποιώντας επικύρωση OIDC.
Το πρόβλημα με τα παραδοσιακά npm tokens
Προηγουμένως, η δημοσίευση πακέτων στο npm απαιτούσε την αποθήκευση ενός μακράς διάρκειας NPM_TOKEN στα μυστικά του αποθετηρίου. Αυτή η προσέγγιση έχει αρκετά μειονεκτήματα:
- Κίνδυνος ασφαλείας: Τα tokens μπορούν να εκτεθούν κατά λάθος ή να παραβιαστούν
- Επιβάρυνση διαχείρισης: Τα tokens χρειάζονται χειροκίνητη εναλλαγή και ενημερώσεις
- Προκλήσεις ελέγχου: Δύσκολο να παρακολουθήσετε ποιος δημοσίευσε τι και πότε
Η λύση: Έμπιστη δημοσίευση βασισμένη σε OIDC
Οι npm Trusted Publishers αξιοποιούν το OpenID Connect (OIDC) για να επιτρέψουν ασφαλή δημοσίευση χωρίς token απευθείας από το GitHub Actions. Δείτε πώς λειτουργεί:
- Κανένα αποθηκευμένο μυστικό: Αντί να αποθηκεύει tokens, το GitHub Actions ζητά διαπιστευτήρια σύντομης διάρκειας από το npm
- Επαλήθευση ταυτότητας: Το npm επαληθεύει ότι το αίτημα δημοσίευσης προήλθε από το εξουσιοδοτημένο αποθετήριο GitHub
- Αυτόματη διαχείριση διαπιστευτηρίων: Τα διαπιστευτήρια εκδίδονται αυτόματα και λήγουν γρήγορα
Πραγματικά οφέλη
Αυτή η αλλαγή φέρνει άμεσες βελτιώσεις στη ροή εργασίας ανάπτυξής μας:
- ✅ Όχι άλλη διαχείριση tokens: Δεν χρειάζεται να δημιουργήσετε, να αποθηκεύσετε ή να εναλλάσσετε npm tokens
- ✅ Μειωμένη επιφάνεια επίθεσης: Τα διαπιστευτήρια σύντομης διάρκειας ελαχιστοποιούν τον κίνδυνο έκθεσης
- ✅ Καλύτερη δυνατότητα ελέγχου: Κάθε ενέργεια δημοσίευσης είναι συνδεδεμένη με μια συγκεκριμένη εκτέλεση GitHub Actions
- ✅ Σύγχρονες βέλτιστες πρακτικές: Ευθυγραμμίζεται με τις αρχές ασφαλείας μηδενικής εμπιστοσύνης
Τεχνική σημείωση: Για να υποστηρίξουμε npm Trusted Publishers, ενημερώσαμε τη διαμόρφωση CI μας για να χρησιμοποιεί Node.js lts/*, διασφαλίζοντας ότι έχουμε την πιο πρόσφατη έκδοση npm που απαιτείται για επικύρωση OIDC.
📦 Χρονοδιάγραμμα έκδοσης
Η μεταφορά ολοκληρώθηκε μέσω τριών εκδόσεων στις 19 Δεκεμβρίου 2025:
- v2.0.0: Βασική μεταφορά από Vue + Vite σε VitePress (αλλαγή που σπάει)
- v2.0.1: Διόρθωση CI για υποστήριξη npm Trusted Publishers με κατάλληλη έκδοση Node.js
- v2.0.2: Βελτίωση απόδοσης μετακινώντας το
@fontsource/noto-monoστα devDependencies
🌍 Συνεχής πολυγλωσσική υποστήριξη
Μια σημαντική σημείωση: η τεκμηρίωση How-To μας δημιουργεί πολυγλωσσικά PDF που έχουν πάντα χρησιμοποιηθεί ως δείγματα αρχείων στην κύρια εφαρμογή Look Scanned (διαθέσιμο στο lookscanned.io/en/scan). Αυτή η μεταφορά VitePress δεν αλλάζει αυτή τη λειτουργικότητα—απλά παρέχει καλύτερη βάση για τη συντήρηση και βελτίωση της υποδομής τεκμηρίωσής μας.
💡 Τι σημαίνει αυτό για τους χρήστες
Εάν χρησιμοποιείτε την τεκμηρίωση του Look Scanned:
- Ίδια πρόσβαση, καλύτερη εμπειρία: Η τεκμηρίωση παραμένει στο ίδιο URL με βελτιωμένη φόρτωση και πλοήγηση
- Πιο αξιόπιστη: Η δημιουργία στατικού ιστοτόπου σημαίνει ταχύτερες φορτώσεις και καλύτερη σταθερότητα
- Καλύτερη αναζήτηση και ανακάλυψη: Η ενσωματωμένη αναζήτηση του VitePress σας βοηθά να βρείτε απαντήσεις πιο γρήγορα
- Συνεχής υποστήριξη PDF: Η δημιουργία πολυγλωσσικών PDF συνεχίζεται όπως πριν
🚀 Τι έρχεται
Με την αναβάθμιση της υποδομής να ολοκληρώνεται, εστιάζουμε σε βελτιώσεις περιεχομένου:
- Επεκταμένες περιπτώσεις χρήσης: Περισσότερα πρακτικά παραδείγματα και βήμα-βήμα οδηγοί
- Βελτιώσεις συνέπειας: Βελτίωση πολυγλωσσικής ορολογίας για σαφήνεια
- Βελτιωμένη εξαγωγή PDF: Βελτίωση της εμπειρίας δημιουργίας PDF σε διάφορους περιηγητές
Δοκιμάστε το Look Scanned σήμερα
Το Look Scanned παρέχει εφέ σάρωσης PDF βασισμένα σε περιηγητή, με προτεραιότητα στο απόρρητο, χωρίς να ανεβάζετε τα αρχεία σας πουθενά. Η βελτιωμένη τεκμηρίωση κάνει την έναρξη ευκολότερη από ποτέ.
👉 Επισκεφθείτε το lookscanned.io για να βιώσετε γρήγορη, ασφαλή σάρωση εγγράφων στον περιηγητή σας.