Skip to content
sudo rm -r SARS-CoV-2/ edited this page Jun 17, 2020 · 2 revisions

Developer's Corner

Twitter's API:

Σύμφωνα με τις παρεχόμενες δυνατότητες του API, ο κώδικας ενσωμάτωσης είναι ο εξής:

<a class="twitter-timeline" 
  href="https://twitter.com/myionio?ref_src=twsrc%5Etfw" 
  data-width="350" 
  data-height="450" 
  data-dnt="true" 
  data-chrome="noheader nofooter noscrollbar transparent">Tweets by @myionio</a> 
<script async src="https://platform.twitter.com/widgets.js"></script>

Και βρίσκεται στο αποθετήριο του θέματος @ioniodi/minimal-ionio/_includes/twitter-module.html ενώ η εκτέλεσή του πραγματοποιείται από το αποθετήριο των δεδομένων @ioniodi/site-gr/index.html με την ρητή κλήση του αρχείου:

{% include twitter-module.html %}

Minimal Mistakes Integration:

Η αναπαράσταση της σειράς προτεινόμενων ανακοινώσεων έχει πολύ συγκεκριμένη και αυστηρή δομή καθορισμένη από την λειτουργία της feature_row() η οποία δεν παρέχει εγγενή υποστήριξη για δυναμικό περιεχόμενο τύπου Twitter Embedded Timeline. Ο κώδικας ενσωμάτωσης του χρονολογίου χρειάστηκε περαιτέρω τροποποιήσεις ώστε να ταιριάζει με την δομή απεικόνισης αντικειμένων της feature_row(),

<div class="feature__item">
  <div class="archive__item">
    <div class="archive__item-body">
      <div align="center">
        <h3>Feed</h3>
        <a class="twitter-timeline"
        ...
        >Tweets by @myionio</a>
        <script async src="https://platform.twitter.com/widgets.js"></script>
      </div>
    </div>
  </div>
</div>

Η feature_row() αναπαρίσταται από την κλάση <div class="feature__wrapper"> μέσω CSS. Η κλάση αυτή είναι δομημένη έτσι ώστε να περιέχει διαφορετικά <div class="feature__items"> αντικείμενα τα οποία είναι υπεύθυνα για την απεικόνιση των στηλών που εμφανίζονται στην αρχική σελίδα. Κάθε αντικείμενο, περιλαμβάνει άλλο ένα της μορφής <div classs="archive__item">, το οποίο με την σειρά του, περιέχει το πραγματικό περιεχόμενο (π.χ. ανακοίνωση). Είναι σημαντικό να αναφερθεί πως δεν προβλέπεται η χρήση εμφωλευμένων δομών από την feature_row(). Δηλαδή, η κλάση <div class="feature__wrapper"> αναμένεται να περιέχει μια συλλογή από αντικείμενα και όχι άλλη κλάση. Η σωστή χρήση της feature_row() θα έχει ως αποτέλεσμα μια δομή αντίστοιχη της ακόλουθης:

<div class="feature__wrapper">
</div>
<div class="feature__wrapper">
     <div class="feature__items"> ... </div>
     <div class="feature__items"> ... </div>
     <div class="feature__items"> ... </div>
</div>

Σε αντίθετη περίπτωση, είναι πιθανό να προκύψουν προβλήματα κατά την εμφάνιση του περιεχομένου, κυρίως σε φορητές συσκευές. Λεπτομέρειες σχετικά με την εν λόγω δομή απεικόνισης και τον τρόπο λειτουργίας της, αναλύονται ενδελεχώς στα σχόλια του ζητήματος.

Facebook Page Plugin Limitations:

Η αρχική ιδέα του ζητήματος ήταν η ενσωμάτωση του χρονολογίου του Πανεπιστημίου στην αρχική σελίδα. Ωστόσο λόγω αυστηρότερων περιορισμών του API αλλά και το μπλοκάρισμά του από ορισμένα προγράμματα περιήγησης, καταλήξαμε στην αντικατάστασή του με αυτό του Twitter. Σύμφωνα με αναφορές, οι περιορισμοί του Facebook διακρίνονται σε:

  • Περιορισμούς χώρας
  • Περιορισμούς ηλικίας

Σε αντίθεση με το Twitter, του οποίου μοναδική απαίτηση είναι το προβαλλόμενο προφίλ να είναι δημόσιο.

Related Issues/PRs:

https://github.com/ioniodi/site-gr/issues/83,
https://github.com/ioniodi/minimal-ionio/pull/23,
https://github.com/ioniodi/site-gr/pull/105,
https://github.com/ioniodi/site-gr/pull/94.

Known Issues:

https://github.com/ioniodi/site-gr/issues/116