Welcome | Get started | Dive into Lino | Contribute | Reference
Discover Lino¶
Explore the demo projects¶
The Lino Book includes a collection of demo projects. We recommend to discover a few of them now.
Initialize all demo projects in one operation by running
inv prep
in your copy of thebook
repository:$ go book $ inv prep
To run the
lino_book.projects.polly
project:$ go polly $ pm runserver
We recommend to try the following demo projects:
Explore the standard plugin library¶
We recommend to look at least into the following pages:
These were only five of the many plugins that are part of Lino. Theoretically, all plugins are listed here:
Exercise¶
Check the checkbox for each cell of the following table where the corresponding plugin is used by the corresponding project.
Plugin |
noi1r |
chatter |
polly |
roger |
---|---|---|---|---|
contacts |
□ |
□ |
□ |
□ |
ledger |
□ |
□ |
□ |
□ |
cal |
□ |
□ |
□ |
□ |
comments |
□ |
□ |
□ |
□ |
courses |
□ |
□ |
□ |
□ |
Hint: modify and then run the following code snippet in order to see the answer
>>> from importlib import import_module
>>> import rstgen
>>> rows = []
>>> projects = ["noi1r", "chatter", "polly", "roger"]
>>> plugins = ("contacts", "ledger", "cal", "comments", "courses")
>>> for pname in plugins:
... cells = [ pname ]
... for prjname in projects:
... settings_module = "lino_book.projects.{}.settings".format(prjname)
... m = import_module(settings_module)
... if not hasattr(m, "SITE"):
... m = import_module(settings_module + ".demo")
... # cells.append("yes" if m.SITE.is_installed(pname) else "no")
... cells.append("?" if m.SITE.is_installed(pname) else "?")
... rows.append(cells)
>>> header = ["Plugin"] + projects
>>> print(rstgen.table(header, rows))
========== ======= ========= ======= =======
Plugin noi1r chatter polly roger
---------- ------- --------- ------- -------
contacts ? ? ? ?
ledger ? ? ? ?
cal ? ? ? ?
comments ? ? ? ?
courses ? ? ? ?
========== ======= ========= ======= =======