35
Pillar, one format for all supports Thibault Arloing Yann DUBOIS 26 août 2016 1/35

Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

Pillar, one format for all supports

Thibault Arloing Yann DUBOIS

26 août 2016

1/35

Page 2: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 3: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 4: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 5: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

5/35

Pillar

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

Page 6: Pillar, one format for all supports pillar/presentati… · 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

Page 7: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

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 format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 9: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 10: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 11: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

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 format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 13: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

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 format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 15: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 16: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 17: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 18: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

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 format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 20: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

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 format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 22: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 23: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 24: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 25: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 26: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

26/35

Makefile Job

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 26 / 35

Page 27: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 28: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

28/35

Makefile Job

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 28 / 35

Page 29: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 30: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

30/35

Makefile Job

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 30 / 35

Page 31: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

31/35

Demo Time

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 31 / 35

Page 32: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 35

32/35

Conclusion

Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 32 / 35

Page 33: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 34: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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

Page 35: Pillar, one format for all supports pillar/presentati… · 5/35 Pillar Thibault Arloing Yann DUBOIS Pillar, one format for all supports 26 août 2016 5 / 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