Download - Pillar: one language for all supports
![Page 1: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/1.jpg)
Pillar, one format for all supports
Thibault Arloing Yann DUBOIS
26 août 2016
1/35
![Page 2: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/2.jpg)
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
![Page 3: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/3.jpg)
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
![Page 4: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/4.jpg)
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
![Page 5: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/5.jpg)
5/35
Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35
![Page 6: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/6.jpg)
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
![Page 7: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/7.jpg)
7/35
Pillar - EPub export
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 7 / 35
![Page 8: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/8.jpg)
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
![Page 9: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/9.jpg)
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
![Page 10: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/10.jpg)
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
![Page 11: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/11.jpg)
11/35
Pillar use cases
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 11 / 35
![Page 12: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/12.jpg)
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
![Page 13: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/13.jpg)
13/35
Books written with Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 13 / 35
![Page 14: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/14.jpg)
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
![Page 15: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/15.jpg)
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
![Page 16: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/16.jpg)
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
![Page 17: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/17.jpg)
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
![Page 18: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/18.jpg)
18/35
Structures - How does it work
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 18 / 35
![Page 19: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/19.jpg)
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
![Page 20: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/20.jpg)
20/35
Make utilisation easier
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 20 / 35
![Page 21: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/21.jpg)
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
![Page 22: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/22.jpg)
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
![Page 23: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/23.jpg)
23/35
Pillar Archetype - How does it work ?
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 23 / 35
![Page 24: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/24.jpg)
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
![Page 25: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/25.jpg)
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
![Page 26: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/26.jpg)
26/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 26 / 35
![Page 27: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/27.jpg)
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
![Page 28: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/28.jpg)
28/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 28 / 35
![Page 29: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/29.jpg)
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
![Page 30: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/30.jpg)
30/35
Makefile Job
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 30 / 35
![Page 31: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/31.jpg)
31/35
Demo Time
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 31 / 35
![Page 32: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/32.jpg)
32/35
Conclusion
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 32 / 35
![Page 33: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/33.jpg)
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
![Page 34: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/34.jpg)
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
![Page 35: Pillar: one language for all supports](https://reader036.vdocuments.us/reader036/viewer/2022062523/589d01271a28ab255c8b4f31/html5/thumbnails/35.jpg)
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