Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preview avec styles du thème #13

Merged
merged 79 commits into from
Jan 27, 2021

Conversation

thom4parisot
Copy link
Member

@thom4parisot thom4parisot commented Aug 5, 2020

  • Utiliser les feuilles de style du wiki pour les bases de la mise en forme de l'Ebook
  • Génération d'une page de couverture qui affiche le titre de l'Ebook
  • Refonte du gabarit de page qui sert d'ancrage aux contenus
  • Je dégomme des styles de mise en forme qui font perdre les couleurs lors de l'impression
  • Les éléments de navigation sont masqués de manière pérenne
  • Les blocs interactifs repliés, sont dépliés par défaut (et l'icône pour déplier/replier est masquée)
  • Page de couverture : ajouter la description, le champ "auteurs" et inclure en fond l'image de couverture si elle est renseignée
  • Tester d'autres règles de saut de page pour des blocs — comme t'as vu, ça fait des sauts de page un peu forcés actuellement, on verra si la prochaine proposition passe mieux
  • Tester avec une macro {{backgroundimage ...}}
  • Tester le rendu d'un fichier MP3
  • Tester le rendu d'une vidéo
  • Tester le rendu d'une iframe (a priori, ça s'affichera, mais juste ce qui est visible sans scroll — ça se découpera mal sur plusieurs pages)
  • Tester avec une carte mentale
  • Donner à l'utilisateur·ice le choix du format/orientation de la page lors de la création de l'ebook (j'ai capté que je pouvais sauvegarder ces informations sous forme de métadonnée, fort pratique)
  • Comprendre d'où vient l'écart de rendu entre le chromium serveur et machine
  • Page de couverture : rendre sa présence paramétrable (sous forme d'une métadonnée~~, ou en tant que macro {{ebookcover}} à laquelle j'associe un template, propre~~).
  • fournir une classe .hide-print/.no-print qui masque ce contenu lors de l'impression
  • fournir une classe .print-only qui affiche ce contenu uniquement lors de l'impression (ça obligerait à charger un fichier CSS de plus sur les pages quand le module est activé)
  • ajouter une option "ajouter un peu de plus de marge au centre" pour "relier l'ouvrage
  • numérotation des pages : sur les côtés, au centre, masquée
  • distinguer saut de page/nouvelle page (l'actuelle {{ pagebreak }})
  • afficher l'option des crop marks
  • ajuster les marges quand l'orientation est paysage (⚠️ issue ouverte cloturée chez paged.js)

Exemple :

fixes #1
fixes #7
fixes #8
fixes #9
fixes #10
fixes #12
fixes #15
fixes #16
fixes #17
fixes #18
fixes #20

Thomas Parisot added 4 commits August 5, 2020 17:29
Using the `/iframe` handler would result in a broken layout due to Paged.js being unable to break down Bootstrap containers
@thom4parisot
Copy link
Member Author

@gatienbataille y'a des pétouilles de mise en page quand des contenus sont placés dans des "colonnes". C'est très spécifique à "Bootstrap" — je peux les neutraliser mais je ne me rends pas compte si beaucoup de YesWiki utilisent un autre système de mise en page.

Aussi, est-ce qu'il y a/tu modifies des CSS directement depuis l'interface de YesWiki ?
J'imagine qu'il y aura des besoins spécifiques à des thèmes (masquer tel ou tel élément).
Dans l'extension je peux prendre en charge les modifications de style qui sont communes à tout YesWiki.

image

@gatienbataille
Copy link

Yop
bon donc désolé si mes retours sont pas "niveau dév" mais plutôt "user", je fais de mon mieux ;-)
pour ce qui est des colonnes {{grid}} de yeswiki elles sont très utilisées, je pense en effet qu'elles s'appuient sur la biblio bootstrap mais @mrflos confirmera.
si tu peux les neutraliser c'est chouette, ou permettre leur "respect" dans la génération du pdf encore mieux. (genre deux colonnes à l'écran = deux colonnes dans le pdf)
notre objectif est de "pousser" les users à utiliser la syntaxe yeswiki {{grid}} plutot que de ramener d'autres codes dans les pages yeswiki. (l'objectif étant à terme de basculer yeswiki en markdown)

Aussi, est-ce qu'il y a/tu modifies des CSS directement depuis l'interface de YesWiki ?
=> ça arrive mais l'idée est de l'éviter / ou en tout cas de dire que c'est pas géré par le tools publication (qui se charge du générique)

J'imagine qu'il y aura des besoins spécifiques à des thèmes (masquer tel ou tel élément).
=> ça pourrait mais je crains qu'il n'y ait trop de thèmes à gérer et que de nouveaux thèmes ne débarquent régulièrement... j'y réfléchis, @mrflos peut-être vois tu des trucs qui m'échappent ?
=> par contre l'idée de pouvoir cacher certaines parties de la page lorsqu'on fait une impression pdf serait vraiment bien voir #8

Dans l'extension je peux prendre en charge les modifications de style qui sont communes à tout YesWiki. => yes

j'espère avoir répondu aux questions, désolé de ne pouvoir rentrer plus dans le "code"'

@thom4parisot
Copy link
Member Author

thom4parisot commented Aug 5, 2020

Dac.

Tu verras dans les PDF que j'ai mis en description : on est pile dans le cas où y'a du 2 colonnes, mais où le contenu déborde sur la page d'après. Je trouve ça moche, mais toi ?

Maybe display them for external websites?
@mrflos
Copy link
Collaborator

mrflos commented Aug 5, 2020

pour les colonnes bootstrap, c'est pas une histoire de résolution pour générer le pdf ou de classes css bootstrap col-xs-* plutot que col-md-* ?
Je me dis que si on pouvait jouer avec les classes pour forcer la mise en page par colonnes, quitte à inventer ses propres classes print genre col-print-* (car j'imagine que c'est pas possible de reproduire le contenu web ecran en paysage sur un pdf en portrait.. ).
Pas trop d'idée sur le sujet, mais des 2 pdf je préfere la version sans espace vide

@gatienbataille
Copy link

re, oui je trouve ça moche aussi ;-)
l'idée générale serait que ça colle au mieux avec ce que l'utilisateur a voulu faire à l'écran (donc sans trop de blancs et avec respect des colonnes) mais je pige bien le souci que page web plutot paysage et que print plutot portrait ;-( (enfin uniquement quand y a pas de scroll sinon ça redevient quand même pas mal du portrait)

@thom4parisot
Copy link
Member Author

Oui, faut voir le print (A4) comme une petite tablette en portrait.

Et que ça reste des modes de mise en page différent (y'en a un où on se fiche de la longueur, et l'autre où la longueur affecte la mise en page).

@thom4parisot
Copy link
Member Author

Voici l'aperçu avec les avancées d'aujourd'hui :

image

📦 My YesWiki website _ test.pdf

@thom4parisot
Copy link
Member Author

Et hop, la page de couverture quand il y a une description, un champ "auteur" et une image de choisie.

image

Je reprends cette aprem.

@thom4parisot
Copy link
Member Author

Bonne nouvelle, le(s) bug(s) ont été corrigés du côté de Paged.js, et je viens de mettre à jour la branche. Corrigé une pétouille qui faisait que {{publicationlist}} ne fonctionnait plus.

@mrflos
Copy link
Collaborator

mrflos commented Oct 20, 2020

Tout semble coché c'est pret a merger?
Compatible doryphore ou aussi cercopitheque?

@thom4parisot
Copy link
Member Author

Hello,

J'attends des confirmations de retours sur 2 wiki qui l'utilisent pour confirmer que ça roule.

Fonctionne pour l'instant sur cercopytheque ; et je dois merger #21 en ajoutant 1 chose pour que ça soit compatible et cercopytheque et doryphore.

@gatienbataille
Copy link

je teste sur pnth en dory 23 octobre mais faudra me laisser un peu de temps pour tester car y pas mal de possibilités avec ce super boulot... en tout cas, un collectif y voit une super opportunité pour créer des livrets de présentation de parcours découverte du territoire. j'essaie de voir comment combiner çap our que ça se goupille bien avec les possibilités de ce nouveau ebook.

@gatienbataille
Copy link

gatienbataille commented Oct 29, 2020

bon en tout cas sous dory 23 oct publication passe pas trop, ici l'erreur reçue sur la page qui contient publication sous dory 23 oct (en bas) https://www.pnth-terreenaction.org/?ebook&debug
dites moi si ça corrige vers dory 23 ou si je repasse en dory mars (qui fonctionnait) merci
Fatal error: Uncaught Error: Call to protected method YesWiki\BazarFiche::decode() from context '' in /var/www/clients/client3/web59/web/tools/bazar/libs/bazar.fonct.retrocompatibility.php:66 Stack trace: #0 /var/www/clients/client3/web59/web/tools/publication/actions/publicationgenerator.php(126): searchResultstoArray(Array, Array, Array) #1 /var/www/clients/client3/web59/web/includes/YesWiki.php(1430): include('/var/www/client...') #2 /var/www/clients/client3/web59/web/includes/YesWiki.php(1242): YesWiki\Wiki->IncludeBuffered('publicationgene...', '<div class="ale...', Array, 'tools/toc/actio...') #3 /var/www/clients/client3/web59/web/formatters/wakka.php(339): YesWiki\Wiki->Action('publicationgene...') #4 [internal function]: YesWiki\WikiniFormatter->callback(Array) #5 /var/www/clients/client3/web59/web/formatters/wakka.php(66): preg_replace_callback('/\%\%.*?\%\%|""...', Array, '{{publicationge...') #6 /var/www/clients/client3/web59/web/formatters/wakka.php(492): YesWiki\WikiniFormatter->format('{{publicationge... in /var/www/clients/client3/web59/web/tools/bazar/libs/bazar.fonct.retrocompatibility.php on line 66

@mrflos
Copy link
Collaborator

mrflos commented Oct 29, 2020

Hello!
C'est un peu de ma faute (afin a cause de ma passivité) : la branche doryphore existe pour le coeur, mais pour les extensions, je n'ai pas encore mis en place les branches cerco et dory , et donc erreur... (bien qu'en théorie la librairie retrocompatibilité devait assurer le bon fonctionnement, c'est apparemment pas vrai).

Si les tests peuvent attendre la semaine prochaine, cela m'irait bien, j'aurai plus de temps.

@gatienbataille
Copy link

mon coco tu es pardonné ;-) tests peuvent attendre me concernant, @oncletom ok pour toi ?
je vais réfléchir à comment utiliser au mieux l'outil (par ex pour ces livrets découverte territoire) et déjà faire la doc "à blanc" , ça me permettra de me remettre à jour

@thom4parisot
Copy link
Member Author

la branche doryphore existe pour le coeur, mais pour les extensions

Qu'est-ce que tu entends par là ?

Tu veux dire que les fonctions de rétrocompatibilités ne sont pas totalement terminées, pour être utilisées par les extensions ?

Donne-nous le feu vert quand @mrflos a besoin qu'on essaie de nouveau.

@thom4parisot
Copy link
Member Author

Vu que c'est devenu ce qui est mis en ligne, allez hop, merge.

@thom4parisot thom4parisot merged commit 3109464 into YesWiki:master Jan 27, 2021
@thom4parisot thom4parisot deleted the feature/wiki-styles branch January 27, 2021 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment