Δομικός διαχωρισμός κειμένου

Ενίοτε, προκύπτει η ανάγκη διαχωρισμού ενός κειμένου σε τμήματα (~blocks) που ξεπερνούν τα όρια της παραγράφου, είτε κυριολεκτικά (σύνδεση δύο ή περισσοτέρων) είτε μεταφορικά (επιθυμούμε διαφορετική μεταχείριση ή/και απεικόνιση). Αυτό γίνεται με τη βοήθεια block tags, που (με εξαίρεση τη γλώσσα και το section) είναι της μορφής:

[tagA όρισμα]
....
....
[/tag]
tagphrase, code, spoiler, κλπ
Ααρίθμηση (υπό συνθήκην, εξηγείται παρακάτω)
όρισμαανάλογα το tag

Με βάση τη χρονική στιγμή επεξεργασίας τους, και το εάν αυτά αποτελούν μέρος της κανονικής ροής του κειμένου (όπως αυτό εμφανίζεται στην έξοδο), τα block tags διακρίνονται σε preprocess, process και postprocess:

Preprocess

Στην κατηγορία αυτή ανήκουν τα tags τα οποία τα οποία διαχωρίζουν το κείμενο τη στιγμή που ανακτάται από τη βάση δεδομένων, πριν αυτό καταλήξει στη ZML ή σε οποιαδήποτε άλλη επεξεργασία.

Γλώσσα

Σε περίπτωση πολυγλωσσικού κειμένου, ο διαχωρισμός γίνεται με τη χρήση tag της μορφής:

{ISO_639-1_Code}

Σηματοδοτούμε την έναρξη γλώσσας, εσωκλείοντας το διεθνή κωδικό της σε αγκύλες. Δύο κωδικοί, οι aa και zz, χρησιμοποιούνται προαιρετικά για τη σήμανση κοινού - μη γλωσσικού προφανώς - περιεχομένου αρχής και τέλους αντίστοιχα. Όπως για παράδειγμα φωτογραφίες, CSS και clips.

{aa}
Κοινό περιεχόμενο αρχής (πρόλογος), εάν υπάρχει.
{gr}
Περιεχόμενο στα Ελληνικά...
{en}
Περιεχόμενο στα Αγγλικά...
{zz}
Κοινό περιεχόμενο τέλους (επίλογος), εάν υπάρχει

Παρατηρήσεις:
1. Οι κωδικοί που μπορείτε να χρησιμοποιείτε δεν είναι αυθαίρετοι! Θα πρέπει το domain σας να έχει αρχικοποιηθεί και ρυθμιστεί ανάλογα!
2. Τα κενά πριν και μετά αγνοούνται! Μπορείτε, για ευκολία, να αφήνετε κενές σειρές πριν και μετά, πρακτικά όμως τα tags γλώσσας λειτουργούν όπου και να τα βάλλετε, ακόμη και εντός παραγράφου!

phrase

Το [phrase] είναι tag γενικού σκοπού. Χρησιμοποιείται τόσο για γλωσσικό όσο και μη γλωσσικό περιεχόμενο, όπως για παράδειγμα CSS σελίδας. Με βάση το πως συντάσσονται, διακρίνονται σε 2 τύπους:

1. Ονομαστικά
Είναι αυτά που σαν όρισμα δέχονται ένα αλφαριθμητικό κλειδί. Τα ονομαστικά phrases αποκόπτονται από το κείμενο - πριν την επεξεργασία του - και είναι διαθέσιμα για μετέπειτα χρήση από κάποια διαδικασία της εφαρμογής. Η πλατφόρμα αναγνωρίζει τα ακόλουθα κλειδιά/ονόματα:
cssin   Ενσωμάτωση internal CSS
cssex   Ενσωμάτωση external CSS
Before  Κείμενο που εμφανίζεται πριν το dashboard χρήστη (e-shop)
After   Κείμενο που εμφανίζεται μετά το dashboard χρήστη
prolog  Κείμενο που εμφανίζεται πριν το αντίγραφο πρότυπου κειμένου (δείτε @="copy...")
epilog  Κείμενο που εμφανίζεται μετά το αντίγραφο πρότυπου κειμένου
2. Ανώνυμα ή κατά συνθήκη
Είναι αυτά που σαν όρισμα δέχονται μια σειρά μεταβλητών, όπως αυτές που απαρτίζουν το query μιας URL. Οι μεταβλητές του ορίσματος συγκρίνονται με αυτές του URL, και αν συμφωνούν τότε το block γίνεται μέρος του κειμένου. Διαφορετικά, το block απορρίπτεται και δεν είναι διαθέσιμο για μετέπειτα χρήση! Παραδείγματα τέτοιων blocks μπορείτε να δείτε στο κείμενο της σελίδας checkout (αν το domain σας είναι e-shop).

Process

Στην κατηγορία αυτή ανήκουν τα tags τα οποία αναγνωρίζονται από τη ZML, και αποτελούν μέρος της κανονικής ροής του κειμένου. Τα tags της κατηγορίας αυτής χρειάζονται αρίθμηση όταν και μόνον όταν είναι περισσότερα του ενός ανά tag (πχ: 2+ code tags).

code

Το tag αυτό χρησιμοποιείται για την εμφάνιση κώδικα ή user input, όπως βλέπετε και στην παρούσα σελίδα.

spoiler

Χρησιμοποιείται για την απόκρυψη κειμένου στη θέση του οποίου εμφανίζεται ένα κουμπί. Πατώντας το, έχει σαν αποτέλεσμα την εμφάνιση του κειμένου. Παράδειγμα spoiler μπορείτε να δείτε εδώ.

Το λεκτικό του κουμπιού είναι το όρισμα του tag. Αν δεν υπάρχει όρισμα, τότε το σύστημα απεικονίζει τη φράση {[var.spoiler]}.

titebuim

Το titebuim (title text button image) είναι ιδιαίτερο block, τόσο ως προς τη σύνταξη όσο και ως προς το αποτέλεσμα. Χρησιμοποιείται για τη δημιουργία των λεγόμενων cards, δομών με εικόνα, τίτλο, απόσπασμα και button που οδηγεί στο πλήρες κείμενο.

Postprocess

Στην κατηγορία αυτή ανήκουν τα tags τα οποία αναγνωρίζονται από τη ZML, και επεξεργάζονται μετά το τέλος του κειμένου.

section

Το sections είναι blocks παραγράφων με (βασικό) σκοπό τη στιλιστική τους μορφοποίηση σαν σύνολο. Σε επίπεδο HTML, το block περιβάλλεται από <section> tag.

Z_BGN_SECTION class

Παράγραφος 1....

...

Παράγραφος Ν....

Z_END_SECTION