This book is written in Pillar markup. If you are not familiar with it please read the Pillar chapter.
The book requires TeX Live 2015 to generate the PDFs. Linux distributions often require to install several packages, please refer to the SBAbook description.
Mac OS X users: download and install MacTeX
(the 2.4Gb MacTeX.pkg
file), and add its binaries to your system path
(don't forget to start a new terminal session, for the path changes to take
effect):
echo /usr/texbin > TeX
sudo mv TeX /etc/paths.d
Run ./download.sh
to obtain the required Pillar executable. This will also
download the required Pharo image and VM and install it locally in the book's
directory.
To generate the individual book chapters, execute ./compile.sh
. This will
place the rendered chapters in book-result/
.
To compose the chapters into the full book, after running ./compile.sh
,
execute ./compileBook.sh
.
To generate a single chapter (for example, the Teapot
chapter):
./pillar export Teapot/Teapot.pillar
bash pillarPostExport.sh
To add a chapter create a directory for it (named, e.g., Example
) and put
there a .pillar
file (named, e.g., Example.pillar
) which will contain the
chapter itself. Put images in the figures
subdirectory of the new chapter
directory.
Add your chapter to:
pillar.conf
in the inputFiles
array as: "Example/Example.pillar"
support/latex/book.tex
in \graphicspath
as {Example/}
EnterprisePharo.pillar
as ${inputFile:Example/Example.pillar}$
_
) in file names.Chapter | Latest | Link reference |
---|---|---|
1 - Teapot | html pdf | Chapter *@cha:teapot* link: *Teapot>../Teapot/Teapot.pillar@cha:teapot* |
2 - Handling CSV with NeoCSV | html pdf | Chapter *@cha:neoCSV* link: *NeoCSV>../NeoCSV/NeoCSV.pillar@cha:neoCSV* |
3 - JSON | html pdf | Chapter *@cha:JSON* link: *JSON>../NeoJSON/NeoJSON.pillar@cha:JSON* |
4 - STON: a Smalltalk Object Notation | html pdf | Chapter *@cha:ston* link: *STON>../STON/STON.pillar@cha:ston* |
5 - Serializing Complex Objects with Fuel | html pdf | Chapter *@cha:fuel* link: *Fuel>../Fuel/Fuel.pillar@cha:fuel* |
6 - Persisting Objects with Voyage | html pdf | Chapter *@cha:voyage* link: *Voyage>../Voyage/Voyage.pillar@cha:voyage* |
7 - Mustache Templates for Pharo | html pdf | Chapter *@cha:mustache* link: *Mustache>../Mustache/Mustache.pillar@cha:mustache* |
8 - Cascading Style Sheets with RenoirSt | html pdf | Chapter *@cha:renoirst* link: *RenoirST>../RenoirST/RenoirST.pillar@cha:renoirst* |
9 - Documenting your Project with Pillar | html pdf | Chapter *@cha:pillar* link: *Pillar>../PillarChap/Pillar.pillar@cha:pillar* |
10 - Generate PDF documents with Artefact | html pdf | Chapter *@cha:artefact* link: *Artefact>../Artefact/Artefact.pillar@cha:artefact* |
11 - Character Encoding and Resource Meta Description | html pdf | Chapter *@cha:zincEncoding* link: *Zinc Encoding Meta>../Zinc-Encoding-Meta/Zinc-Encoding-Meta.pillar@cha:zincEncoding* |
12 - Zinc HTTP: The Client-side | html pdf | Chapter *@cha:zinc-client* link: *Zinc Client>../Zinc-HTTP-Client/Zinc-HTTP-Client.pillar@cha:zinc-client* |
13 - Zinc HTTP: The server side | html pdf | Chapter *@cha:zinc-server* link: *Zinc Server>../Zinc-HTTP-Server/Zinc-HTTP-Server.pillar@cha:zinc-server* |
14 - REST Web Services | html pdf | Chapter *@cha:zinc-rest* link: *Zinc Rest>../Zinc-REST/Zinc-REST.pillar@cha:zinc-rest* |
15 - Building and deploying your first web app with Pharo | html pdf | Chapter *@cha:webApp* link: *WebApp>../WebApp/WebApp.pillar@cha:webApp* |
16 - WebSockets | html pdf | Chapter *@cha:webSockets* link: *WebSockets>../WebSockets/WebSockets.pillar@cha:webSockets* |
There are mods/bundles/packages for text editors, that provide improvements for pillar files editing: