pillar, one format for all supports pillar/presentati… · 5/35 pillar thibault arloing yann...
Post on 06-Aug-2020
15 Views
Preview:
TRANSCRIPT
Pillar, one format for all supports
Thibault Arloing Yann DUBOIS
26 août 2016
1/35
1 Pillar
2 Pillar use cases
3 What’s new in Pillar 4.0
4 Make utilisation easier
5 Demo Time
6 Conclusion
2/35
3/35
Currently
LaTeXComplicatedHard to debugHard to convert to HTML
MarkdownIncompleteIncompatible InplementationFew output formats
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 3 / 35
4/35
Why Pillar ?
We wanted something :
Easier than LaTeXMore complete than Markdown
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 4 / 35
5/35
Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35
6/35
Pillar
One input, many outputs (e.g. HTML, LaTeX, ePub)
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 6 / 35
7/35
Pillar - EPub export
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 7 / 35
8/35
Pillar
One input, many outputs (e.g. HTML, LaTeX, ePub)Slides / Books / WebsitesTextual syntaxEasy to ExtendEasy to use
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 8 / 35
9/35
Pillar - Easy syntax
!ExampleThis is an example of Pillar file.*Link>http://pharo.org*-Unordered Item-Unordered Item#Ordered Item#Ordered Item[[[language=smalltalk|label=How to say HelloTranscript show: ’Hello !’.]]]|!Harder |!Better|Faster |Stronger|More Than |Ever+Figure>file://path/to/the/file.png|width=80+
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 9 / 35
10/35
Advanced features
${}$ annotation syntaxSlides ${slide :Slide name}$${myAnnotation :arg1=1|arg2=2}$Consistency in syntax [[[language=smalltalk|arg1=1|arg2=2]]]Evaluate a smalltalk script
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 10 / 35
11/35
Pillar use cases
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 11 / 35
12/35
Books written with Pillar
Enterprise Pharo : A Web PerspectiveAgile VirtualizationPharo By Example
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 12 / 35
13/35
Books written with Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 13 / 35
14/35
Presentations
BeamerDeckJs
This presentation itself is written in Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 14 / 35
15/35
Other use cases
Ecstatic : Static Websites, Guillermo Polito / Stéphane Ducasse(http ://guillep.github.io/ecstatic)PillarHub, Mike Filonov (http ://pillarhub.pharocloud.com/)
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 15 / 35
16/35
What’s new in Pillar 4.0
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 16 / 35
17/35
Pillar 4.0 - Structures
Dissociate form the shapeEasy to useProvide from formatting mistakes
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 17 / 35
18/35
Structures - How does it work
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 18 / 35
19/35
Pillar 4.0 - Other features
Footnotes ${footnote :Text to put in the footnote}$Citations ${cite :REF1713}$Header CapitalizationHideable Scripts
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 19 / 35
20/35
Make utilisation easier
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 20 / 35
21/35
Hell on boot project
Where is my configuration file ?Where are templates ?I am bored of copy/paste parts of configuration fileWhere did I put my pillar files ?
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 21 / 35
22/35
Pillar Archetypes - Skeleton maker
Simple utilisationBuild a project base with example filesMany archetypes (Book / Slides / Beginner)
./ pillar archetype book
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 22 / 35
23/35
Pillar Archetype - How does it work ?
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 23 / 35
24/35
Makefile Archetypes
Makefile adapted to each ArchetypesSeparated Makefiles
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 24 / 35
25/35
Makefile Job
Begin with a pillar file
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 25 / 35
26/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 26 / 35
27/35
Makefile Job
Pass through Pillar
$(OUTPUTDIRECTORY)/%. html.json: %. pillar copySupport./ pillar export --to="html" --outputFile=$@ $<
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 27 / 35
28/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 28 / 35
29/35
Makefile Job
Pass through a template System
./ mustache --data=$< --template=${HTMLTEMPLATE} > $@
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 29 / 35
30/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 30 / 35
31/35
Demo Time
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 31 / 35
32/35
Conclusion
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 32 / 35
33/35
Future Works
Pharo comments in PillarMobi ExporterMath expressions in LaTeXWe have a lot of suggestions from community
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 33 / 35
34/35
Conclusion
Easy to ExtendEasy SyntaxLot of outputEasier CompilationPossibility to use other tools for templating
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 34 / 35
35/35
For more informations
https ://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/PillarChap/Pillar.html
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 35 / 35
top related