A new book describing Pharo librairies to make business.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Artefact
Copyright
DeploymentWeb
Fuel
Mustache
NeoCSV
NeoJSON
PillarChap
RenoirST
STON
Teapot
Voyage
WebApp
WebSockets
Zinc-Encoding-Meta
Zinc-HTTP-Client
Zinc-HTTP-Server
cover
figures
lulu
support
.dir-locals.el
.gitignore
.gitmodules
.latexmkrc
.travis.yml
CONTRIBUTING.md
EnterprisePharo.pillar
LICENSE.md
Makefile
README.md
copySupport.mk
gitinfo2.sh
pillar.conf
push-results-to-server.sh
subdownload.sh

README.md

Enterprise Pharo (english version) Build Status Build Status

How to write a book

This book is written in Pillar markup. If you are not familiar with it please read the Pillar chapter.

###Prerequisites

####Install LaTeX

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

####Download Pillar

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.

###Generating the book

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

###Adding a chapter

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}$

###Caveats

  • You must neither use spaces nor underscores (_) in file names.

Chapters

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*

Tools

There are mods/bundles/packages for text editors, that provide improvements for pillar files editing: