Sample library.info file
Here is an example library.info configuration file for a collection called Dictionary:
[Library] name = "Dictionary" library_version = 1 host_version = 1 class = "dictionary" l10n = false locale = "en_US" category = "books" category_icon = "library-dictionary.jpg" subcategory = "reference"
Keys/Values
- [Library] (required)
- The library.info file must begin with [Library], and only that, on the first line of the file.
- name (required)
- This entry is the name is displayed in the library navigation sidebar that refers to the collection. Visit the online version of the OLPC Library to view the current navigation sidebar and categories.
- library_version (required)
- The version is a single positive integer that refers to the version of the collection. Larger numbers are considered "newer". For now, the version is 1.
- host_version (required)
- The host version is a single positive integer that refers to the version of Sugar which the collection is compatible with. For now, the version is 1.
- l10n (required)
- This entry indicates whether the bundle is "officially" localized. The value is either true or false.
- Note: What it means to be "officially" localized hasn't been entirely worked out yet, so the value of this entry is false for now.
- locale
- This is the ISO code for the primary language of the collection, in lowercase, followed by an underscore, and then its localization information (also represented in ISO code). In this case, US-localized English is represented as en_US. UK-localized English, for example, would be represented as en_UK.
- For a list of ISO 639 language codes, see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
- For a list of ISO country codes, see http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
- Note: At some point, the locale line should be expanded to match the localization scheme for activity bundles. For now, this spec only supports single-language bundles.
- class (optional)
- This entry is required if the collection is using a customized library.css file. The class value should be the same name as the collection's .xol file, except in lower case (and without the ".xol"). No whitespace or special characters are allowed.
- category
- This refers to the subject classification in the OLPC Library (visible on navigation sidebar). The "category" value also corresponds to that category's class in the default CSS settings. See category chart below for current options. As always, if you don't like what you see, you can add your own.
- category_icon (optional)
- This is the filename of the icon that represents the collection in the library navigation sidebar. The actual image file is stored in the library directory (see configuration files. This line is only required if you decide to place your collection in its own top-level category in the navigation sidebar.
- subcategory (optional)
- This refers to the subcategory classification within a category (visible on the navigation sidebar). If no subcategory is provided, the collection will be placed in its own subcategory. See category chart for current options. Again, as always, if you don't like what you see, you can add your own.
- Note:Subcategory placement is not yet automated. Syntax/whitespace/case sensitivity/etc will depend on how pattern matching is implemented.
Category Chart
The current category and subcategory options are:
Description | Category | Current Subcategories |
Books and reference | books | picture books, reference, stories |
Math and science | science | biology |
Images and maps | images | nature, atlas, historical |
Music and video | music | media |
Activities | activities | games |
Web links | links | search the web |
Uniwiki | uniwiki | water & environment |
Visit the OLPC Library to see these categories in action.
General Notes
.info files follow a key/value pair format, similar to the fd.o desktop entry spec
Entries
Entries in the file are {key,value} pairs in the format:
Key = Value
Space before and after the equals sign should be ignored; the = sign is the actual delimiter.
Key names must contain only the characters A-Za-z0-9-.
As the case is significant, the keys Name and NAME are not equivalent.
Multiple keys in the same group may not have the same name. Keys in different groups may have the same name.
Possible Value Types
The value types recognized are string, boolean, and numeric.
- Values of type string may contain all ASCII characters except for control characters (space, newline, tab, carriage return, etc.). To include any of these characters, use the appropriate escape sequence. Strings should be delimited by double quotation marks, e.g. "This is a string".
- Values of type boolean must either be true or false.
- Values of type numeric must be a valid floating point number, e.g. 13 or -2.5.
Some keys can have multiple values. In such a case, the value of the key is specified as a plural: for example, locales. The multiple values should be separated by a semicolon. Those keys which have several values should have a semicolon as the trailing character. Semicolons in these values need to be escaped using \;.