Pillar: one language for all supports
Video: https://youtu.be/gcnK5B7tfC0
Fri, August 26, 9:00am – 9:15am
Description
Pillar is a markdown extracted from the original Pier wiki. Markdown can be used to generate books, booklets, webpages, slides,....
This presentation will present the new architecture of Pillar
why an Opensea Clone Script might be your perfect match.pdf
Pillar: one language for all supports
1. Pillar, one format for all supports
Thibault Arloing Yann DUBOIS
26 août 2016
1/35
2. 1 Pillar
2 Pillar use cases
3 What’s new in Pillar 4.0
4 Make utilisation easier
5 Demo Time
6 Conclusion
3. 3/35
Currently
LaTeX
Complicated
Hard to debug
Hard to convert to HTML
Markdown
Incomplete
Incompatible Inplementation
Few output formats
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 3 / 35
4. 4/35
Why Pillar ?
We wanted something :
Easier than LaTeX
More complete than Markdown
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 4 / 35
6. 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. 7/35
Pillar - EPub export
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 7 / 35
8. 8/35
Pillar
One input, many outputs (e.g. HTML, LaTeX, ePub)
Slides / Books / Websites
Textual syntax
Easy to Extend
Easy to use
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 8 / 35
9. 9/35
Pillar - Easy syntax
!Example
This is an example of Pillar file.
*Link>http://pharo.org*
-Unordered Item
-Unordered Item
#Ordered Item
#Ordered Item
[[[language=smalltalk|label=How to say Hello
Transcript 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. 10/35
Advanced features
${}$ annotation syntax
Slides ${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
12. 12/35
Books written with Pillar
Enterprise Pharo : A Web Perspective
Agile Virtualization
Pharo By Example
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 12 / 35
13. 13/35
Books written with Pillar
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 13 / 35
15. 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. 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. 17/35
Pillar 4.0 - Structures
Dissociate form the shape
Easy to use
Provide from formatting mistakes
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 17 / 35
18. 18/35
Structures - How does it work
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 18 / 35
19. 19/35
Pillar 4.0 - Other features
Footnotes ${footnote :Text to put in the footnote}$
Citations ${cite :REF1713}$
Header Capitalization
Hideable Scripts
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 19 / 35
21. 21/35
Hell on boot project
Where is my configuration file ?
Where are templates ?
I am bored of copy/paste parts of configuration file
Where did I put my pillar files ?
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 21 / 35
22. 22/35
Pillar Archetypes - Skeleton maker
Simple utilisation
Build a project base with example files
Many archetypes (Book / Slides / Beginner)
./ pillar archetype book
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 22 / 35
23. 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. 24/35
Makefile Archetypes
Makefile adapted to each Archetypes
Separated Makefiles
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 24 / 35
25. 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
29. 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
33. 33/35
Future Works
Pharo comments in Pillar
Mobi Exporter
Math expressions in LaTeX
We have a lot of suggestions from community
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 33 / 35
34. 34/35
Conclusion
Easy to Extend
Easy Syntax
Lot of output
Easier Compilation
Possibility to use other tools for templating
Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 34 / 35
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