diff options
Diffstat (limited to 'conf.d/app-templates/docs')
20 files changed, 0 insertions, 1194 deletions
diff --git a/conf.d/app-templates/docs/0-Doc-Revisions.md b/conf.d/app-templates/docs/0-Doc-Revisions.md deleted file mode 100644 index 38b6e74..0000000 --- a/conf.d/app-templates/docs/0-Doc-Revisions.md +++ /dev/null @@ -1,6 +0,0 @@ -Document revisions -================== - -| Date | Version | Designation | Author | -|-------------|---------|--------------------------------------|-------------------------| -| 4 Jul 2017 | 1.0 | Initial release | R. Forlot [ Iot.bzh ] | diff --git a/conf.d/app-templates/docs/README.md b/conf.d/app-templates/docs/README.md deleted file mode 100644 index 39f9209..0000000 --- a/conf.d/app-templates/docs/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Introduction - -This document explain how to use the CMake templates files and associated -files to ease developement of AGL application. - -<br> -<br> -<br> -<br> -<br> - -| *Meta* | *Data* | -| -- | -- | -| **Title** | {{ config.title }} | -| **Author** | {{ config.author }} | -| **Description** | {{ config.description }} | -| **Keywords** | {{ config.keywords }} | -| **Language** | English | -| **Published** | Published {{ config.published }} as an electronic book | -| **Updated** | {{ gitbook.time }} | -| **Collection** | Open-source | -| **Website** | [{{ config.website }}]({{ config.website }}) | diff --git a/conf.d/app-templates/docs/SUMMARY.md b/conf.d/app-templates/docs/SUMMARY.md deleted file mode 100644 index f475678..0000000 --- a/conf.d/app-templates/docs/SUMMARY.md +++ /dev/null @@ -1,10 +0,0 @@ -# Summary - -* [Document revisions](0-Doc-Revisions.md) - -* [Developper guide](dev_guide/0_Abstract.md) - * [Quickstart](dev_guide/1_Quickstart.md) - * [Project architecture](dev_guide/2_project_architecture.md) - * [Advanced usage](dev_guide/3_advanced_usage.md) - * [Customization](dev_guide/4_advanced_customization.md) - * [Autobuild](dev_guide/5_autobuild.md) diff --git a/conf.d/app-templates/docs/_layouts/ebook/page.html b/conf.d/app-templates/docs/_layouts/ebook/page.html deleted file mode 100644 index bf325e9..0000000 --- a/conf.d/app-templates/docs/_layouts/ebook/page.html +++ /dev/null @@ -1,36 +0,0 @@ -{% extends "layout.html" %} - -{% block title %}{{ page.title }}{% endblock %} -{% block description %}{{ page.description }}{% endblock %} - -{% block style %} - {### Include theme css before plugins css ###} - {% if not fileExists(config.styles.print) %} - {% if options.format %} - <link rel="stylesheet" href="{{ (options.format + ".css")|resolveAsset }}"> - {% else %} - <link rel="stylesheet" href="{{ "ebook.css"|resolveAsset }}"> - {% endif %} - {% endif %} - - {{ super() }} - - {### Custom stylesheets for the book ###} - - {% for type, style in config.styles %} - {% if fileExists(style) and (type == "ebook" or type == "print" or type == options.format) %} - <link rel="stylesheet" href="{{ style|resolveFile }}"> - {% endif %} - {% endfor %} -{% endblock %} - -{% block body %} -<div class="page"> - {% block page %} - <h1 class="book-chapter book-chapter-{{ page.depth }}">{{ page.title }}</h1> - <div class="section"> - {{ page.content|safe }} - </div> - {% endblock %} -</div> -{% endblock %} diff --git a/conf.d/app-templates/docs/_layouts/ebook/pdf_footer.html b/conf.d/app-templates/docs/_layouts/ebook/pdf_footer.html deleted file mode 100644 index 679e562..0000000 --- a/conf.d/app-templates/docs/_layouts/ebook/pdf_footer.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "./page.html" %} -{% block body %} -<div id="pdf-footer" class="pdf-footer"> - <span class="footer-left">Version {{ config.version }}</span> - <span class="footer-right">{{ page.num }}</span> - <span class="footer-center">{{ config.published }}</span> -</div> - -<!-- Allow to hide footer for some pages using hidepagefooters config in book.json --> -<script> - if (({% for num in config.hidepagefooters %}{{ page.num }} == {{ num }} || {% endfor %}false)) document.getElementById('pdf-footer').style.display = 'none' -</script> -{% endblock %} diff --git a/conf.d/app-templates/docs/_layouts/ebook/pdf_header.html b/conf.d/app-templates/docs/_layouts/ebook/pdf_header.html deleted file mode 100644 index ef49641..0000000 --- a/conf.d/app-templates/docs/_layouts/ebook/pdf_header.html +++ /dev/null @@ -1,13 +0,0 @@ -{% extends "./page.html" %} -{% block body %} -<div id="pdf-header" class="pdf-header"> - <span class="header-left">IoT.Bzh</span> - <span class="header-right">{{ config.title }}</span> -</div> - -<!-- Allow to hide header for some pages using hidepageheaders config in book.json --> -<script> - if (({% for num in config.hidepageheaders %}{{ page.num }} == {{ num }} || {% endfor %}false)) document.getElementById('pdf-header').style.display = 'none' -</script> - -{% endblock %}
\ No newline at end of file diff --git a/conf.d/app-templates/docs/_layouts/ebook/summary.html b/conf.d/app-templates/docs/_layouts/ebook/summary.html deleted file mode 100644 index be328a4..0000000 --- a/conf.d/app-templates/docs/_layouts/ebook/summary.html +++ /dev/null @@ -1,58 +0,0 @@ -{% extends "./page.html" %} - -{% block title %}{{ "SUMMARY"|t }}{% endblock %} - -{% macro articles(_articles) %} - {% for article in _articles %} - <li> - <span class="inner"> - {% if article.path or article.url %} - {% if article.path %} - <a href="{{ article.path|contentURL }}{{ article.anchor }}">{{ article.title }}</a> - {% else %} - <a target="_blank" href="{{ article.url }}">{{ article.title }}</a> - {% endif %} - {% else %} - <span>{{ article.title }}</span> - {% endif %} - {% if 1 %} - <span class="page">{{ article.level }}</span> - {% endif %} - </span> - {% if article.articles.length > 0 %} - <ol> - {{ articles(article.articles) }} - </ol> - {% endif %} - </li> - {% endfor %} -{% endmacro %} - -{% block page %} -<div class="section toc"> - <h1>{{ "SUMMARY"|t }}</h1> - <ol> - {% for part in summary.parts %} - {% if part.title %} - <li class="part-title"> - <h2>{{ part.title }}</h2> - </li> - {% endif %} - {{ articles(part.articles) }} - - {% if not loop.last %} - <li class="divider"></li> - {% endif %} - {% endfor %} - - {% if glossary.path %} - <li> - <span class="inner"> - <a href="{{ ('/' + glossary.path)|contentURL }}">{{ "GLOSSARY"|t }}</a> - </span> - </li> - {% endif %} - </ol> -</div> -{% endblock %} - diff --git a/conf.d/app-templates/docs/_layouts/layout.html b/conf.d/app-templates/docs/_layouts/layout.html deleted file mode 100644 index 3d5aca6..0000000 --- a/conf.d/app-templates/docs/_layouts/layout.html +++ /dev/null @@ -1,28 +0,0 @@ -<!DOCTYPE HTML> -<html lang="{{ config.language }}" {% if page.dir == "rtl" %}dir="rtl"{% endif %}> - <head> - <meta charset="UTF-8"> - <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> - <title>{% block title %}{{ config.title|d("GitBook", true) }}{% endblock %}</title> - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> - <meta name="description" content="{% block description %}{% endblock %}"> - <meta name="generator" content="GitBook {{ gitbook.version }}"> - {% if config.author %}<meta name="author" content="{{ config.author }}">{% endif %} - {% if config.isbn %}<meta name="identifier" content="{{ config.isbn }}" scheme="ISBN">{% endif %} - {% block style %} - {% for resource in plugins.resources.css %} - {% if resource.url %} - <link rel="stylesheet" href="{{ resource.url }}"> - {% else %} - <link rel="stylesheet" href="{{ resource.path|resolveAsset }}"> - {% endif %} - {% endfor %} - {% endblock %} - - {% block head %}{% endblock %} - </head> - <body> - {% block body %}{% endblock %} - {% block javascript %}{% endblock %} - </body> -</html> diff --git a/conf.d/app-templates/docs/cover.jpg b/conf.d/app-templates/docs/cover.jpg Binary files differdeleted file mode 100644 index 4e04b0c..0000000 --- a/conf.d/app-templates/docs/cover.jpg +++ /dev/null diff --git a/conf.d/app-templates/docs/cover_small.jpg b/conf.d/app-templates/docs/cover_small.jpg Binary files differdeleted file mode 100644 index 315816b..0000000 --- a/conf.d/app-templates/docs/cover_small.jpg +++ /dev/null diff --git a/conf.d/app-templates/docs/dev_guide/0_Abstract.md b/conf.d/app-templates/docs/dev_guide/0_Abstract.md deleted file mode 100644 index a04cc87..0000000 --- a/conf.d/app-templates/docs/dev_guide/0_Abstract.md +++ /dev/null @@ -1,21 +0,0 @@ -# Developper Guide: use AGL CMake Templates - -## Abstract - -Files used to build an application, or binding, project with the -AGL Application Framework. - -To build your AGL project using these templates, you have to install -them within your project and adjust compilation option in `config.cmake`. -For technical reasons, you also have to specify **cmake** target in -sub CMakeLists.txt installed. Make a globbing search to find source files -isn't recommended now to handle project build especially in a multiuser -project because CMake will not be aware of new or removed source files. - -You'll find usage samples here: - -- [helloworld-service](https://github.com/iotbzh/helloworld-service) -- [low-level-can-service](https://gerrit.automotivelinux.org/gerrit/apps/low-level-can-service) -- [high-level-viwi-service](https://github.com/iotbzh/high-level-viwi-service) -- [audio-binding](https://github.com/iotbzh/audio-binding) -- [unicens2-binding](https://github.com/iotbzh/unicens2-binding) diff --git a/conf.d/app-templates/docs/dev_guide/1_Quickstart.md b/conf.d/app-templates/docs/dev_guide/1_Quickstart.md deleted file mode 100644 index 9aad1ef..0000000 --- a/conf.d/app-templates/docs/dev_guide/1_Quickstart.md +++ /dev/null @@ -1,81 +0,0 @@ - -# Quickstart - -## Initialization - -To use these templates files on your project just install the reference files using -**git submodule** then use `config.cmake` file to configure your project specificities : - -```bash -git submodule add https://gerrit.automotivelinux.org/gerrit/apps/app-templatesconf.d/app-templates conf.d/app-templates -mkdir conf.d/cmake -cp conf.d/app-templates/cmake/config.cmake.sample conf.d/cmake/config.cmake -``` - -Edit the copied config.cmake file to fit your needs. - -Now, create your top CMakeLists.txt file which include `config.cmake` file. - -An example is available in **app-templates** submodule that you can copy and -use: - -```bash -cp conf.d/app-templates/cmake/CMakeLists.txt CMakeLists.txt -``` - -## Create your CMake targets - -For each target part of your project, you need to use ***PROJECT_TARGET_ADD*** -to include this target to your project. - -Using it, make available the cmake variable ***TARGET_NAME*** until the next -***PROJECT_TARGET_ADD*** is invoked with a new target name. - -So, typical usage defining a target is: - -```cmake -PROJECT_TARGET_ADD(SuperExampleName) --> Adding target to your project - -add_executable/add_library(${TARGET_NAME}.... --> defining your target sources - -SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES.... --> fit target properties -for macros usage - -INSTALL(TARGETS ${TARGET_NAME}.... -``` - -## Targets PROPERTIES - -You should set properties on your targets that will be used to package your -apps in a widget file that could be installed on an AGL system. - -Specify what is the type of your targets that you want to be included in the -widget package with the property **LABELS**: - -Choose between: - -- **BINDING**: Shared library that be loaded by the AGL Application Framework -- **BINDINGV2**: Shared library that be loaded by the AGL Application Framework. - This has to be accompagnied with a JSON file named like the *${OUTPUT_NAME}-apidef* of - the target that describe the API with OpenAPI syntax (e.g: *mybinding-apidef*). - Or you can choose the name by setting the *CACHE* cmake variable *OPENAPI_DEF* - (***CAUTION***: setting a CACHE variable is needed, or set a normal variable - with the *PARENT_SCOPE* option to make it visible for the parent scope - where the target is defined) JSON file will be used to generate header file - using `afb-genskel` tool. -- **HTDOCS**: Root directory of a web app. This target has to build its - directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} -- **DATA**: Resources used by your application. This target has to build its - directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} -- **EXECUTABLE**: Entry point of your application executed by the AGL - Application Framework - -```cmake -SET_TARGET_PROPERTIES(${TARGET_NAME} - PREFIX "afb-" - LABELS "BINDING" - OUTPUT_NAME "file_output_name") -``` - -> **TIP** you should use the prefix _afb-_ with your **BINDING* targets which -> stand for **Application Framework Binding**. diff --git a/conf.d/app-templates/docs/dev_guide/2_project_architecture.md b/conf.d/app-templates/docs/dev_guide/2_project_architecture.md deleted file mode 100644 index 0cae607..0000000 --- a/conf.d/app-templates/docs/dev_guide/2_project_architecture.md +++ /dev/null @@ -1,98 +0,0 @@ -# Project architecture - -A typical project architecture would be : - -```tree -<project-root-path> -│ -├── conf.d/ -│ ├── autobuild/ -│ │ ├── agl -│ │ │ └── autobuild -│ │ ├── linux -│ │ │ └── autobuild -│ │ └── windows -│ │ └── autobuild -│ ├── app-templates/ -│ │ ├── README.md -│ │ ├── autobuild/ -│ │ │ ├── agl -│ │ │ │ └── autobuild.in -│ │ │ ├── linux -│ │ │ │ └── autobuild.in -│ │ │ └── windows -│ │ │ └── autobuild.in -│ │ ├── cmake/ -│ │ │ ├── config.cmake.sample -│ │ │ ├── export.map -│ │ │ └── macros.cmake -│ │ ├── deb/ -│ │ │ └── config.deb.in -│ │ ├── rpm/ -│ │ │ └── config.spec.in -│ │ └── wgt/ -│ │ ├── config.xml.in -│ │ ├── config.xml.in.sample -│ │ ├── icon-default.png -│ │ ├── icon-html5.png -│ │ ├── icon-native.png -│ │ ├── icon-qml.png -│ │ └── icon-service.png -│ ├── packaging/ -│ │ ├── config.spec -│ │ └── config.deb -│ ├── cmake -│ │ └── config.cmake -│ └── wgt -│ └── config.xml.in -├── <libs> -├── <target> -│ └── <files> -├── <target> -│ └── <file> -└── <target> - └── <files> -``` - -| # | Parent | Description | -| - | -------| ----------- | -| \<root-path\> | - | Path to your project. Hold master CMakeLists.txt and general files of your projects. | -| conf.d | \<root-path\> | Holds needed files to build, install, debug, package an AGL app project | -| app-templates | conf.d | Git submodule to app-templates AGL repository which provides CMake helpers macros library, and build scripts. config.cmake is a copy of config.cmake.sample configured for the projects. SHOULD NOT BE MODIFIED MANUALLY !| -| autobuild | conf.d | Scripts generated from app-templates to build packages the same way for differents platforms.| -| cmake | conf.d | Contains at least config.cmake file modified from the sample provided in app-templates submodule. | -| wgt | conf.d | Contains at least config.xml.in template file modified from the sample provided in app-templates submodule for the needs of project (See config.xml.in.sample file for more details). | -| packaging | conf.d | Contains output files used to build packages. | -| \<libs\> | \<root-path\> | External dependencies libraries. This isn't to be used to include header file but build and link statically specifics libraries. | Library sources files. Can be a decompressed library archive file or project fork. | -| \<target\> | \<root-path\> | A target to build, typically library, executable, etc. | - -## Manage app-templates submodule - -### Update - -You may have some news bug fixes or features available from app-templates -repository that you want. To update your submodule proceed like the following: - -```bash -git submodule update --remote -git commit -s conf.d/app-templates -``` - -This will update the submodule to the HEAD of master branch repository. Save -the modification by commiting it in your master git project. - -### Checkout submodule to a git tag - -You could just want to update at a specified repository tag or branch or commit -, here are the method to do so: - -```bash -cd conf.d/app-templates -# Choose one of the following depending what you want -git checkout <tag_name> -git checkout --detach <branch_name> -git checkout --detach <commit_id> -# Then commit -cd ../.. -git commit -s conf.d/app-templates -``` diff --git a/conf.d/app-templates/docs/dev_guide/3_advanced_usage.md b/conf.d/app-templates/docs/dev_guide/3_advanced_usage.md deleted file mode 100644 index cf85986..0000000 --- a/conf.d/app-templates/docs/dev_guide/3_advanced_usage.md +++ /dev/null @@ -1,102 +0,0 @@ -# Build a widget - -## config.xml.in file - -To build a widget you need a _config.xml_ file describing what is your apps and -how Application Framework would launch it. This repo provide a simple default -file _config.xml.in_ that should work for simple application without -interactions with others bindings. - -It is recommanded that you use the sample one which is more complete. You can -find it at the same location under the name _config.xml.in.sample_ (stunning -isn't it). Just copy the sample file to your _conf.d/wgt_ directory and name it -_config.xml.in_, then edit it to fit your needs. - -> ***CAUTION*** : The default file is only meant to be use for a -> simple widget app, more complicated ones which needed to export -> their api, or ship several app in one widget need to use the provided -> _config.xml.in.sample_ which had all new Application Framework -> features explained and examples. - -## Using cmake template macros - -To leverage all cmake templates features, you have to specify ***properties*** -on your targets. Some macros will not works without specifying which is the -target type. - -As the type is not always specified for some custom targets, like an ***HTML5*** -application, macros make the difference using ***LABELS*** property. - -Choose between: - -- **BINDING**: Shared library that be loaded by the AGL Application Framework -- **BINDINGV2**: Shared library that be loaded by the AGL Application Framework. - This has to be accompagnied with a JSON file named like the *${OUTPUT_NAME}-apidef* of - the target that describe the API with OpenAPI syntax (e.g: *mybinding-apidef*). - Or you can choose the name by setting the *CACHE* cmake variable *OPENAPI_DEF* - (***CAUTION***: setting a CACHE variable is needed, or set a normal variable - with the *PARENT_SCOPE* option to make it visible for the parent scope - where the target is defined) JSON file will be used to generate header file - using `afb-genskel` tool. -- **HTDOCS**: Root directory of a web app. This target has to build its - directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} -- **DATA**: Resources used by your application. This target has to build its - directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} -- **EXECUTABLE**: Entry point of your application executed by the AGL - Application Framework - -Example: - -```cmake -SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "HTDOCS" - OUTPUT_NAME dist.prod - ) -``` - -If your target output is not named as the ***TARGET_NAME***, you need to specify -***OUTPUT_NAME*** property that will be used by the ***populate_widget*** macro. - -Use the ***populate_widget*** macro as latest statement of your target -definition. Then at the end of your project definition you should use the macro -***build_widget*** that make an archive from the populated widget tree using the -`wgtpkg-pack` Application Framework tools. - -## Macro reference - -### PROJECT_TARGET_ADD - -Typical usage would be to add the target to your project using macro -`PROJECT_TARGET_ADD` with the name of your target as parameter. - -Example: - -```cmake -PROJECT_TARGET_ADD(low-can-demo) -``` - -> ***NOTE***: This will make available the variable `${TARGET_NAME}` -> set with the specificied name. This variable will change at the next call -> to this macros. - -### project_subdirs_add - -This macro will search in all subfolder any `CMakeLists.txt` file. If found then -it will be added to your project. This could be use in an hybrid application by -example where the binding lay in a sub directory. - -Usage : - -```cmake -project_subdirs_add() -``` - -You also can specify a globbing pattern as argument to filter which folders -will be looked for. - -To filter all directories that begin with a number followed by a dash the -anything: - -```cmake -project_subdirs_add("[0-9]-*") -``` diff --git a/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md b/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md deleted file mode 100644 index 0d8957e..0000000 --- a/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md +++ /dev/null @@ -1,42 +0,0 @@ -# Advanced customization - -## Including additionnals cmake files - -Advanced tuning is possible using addionnals cmake files that are included -automatically from some specifics locations. They are included in that order: - -- Project CMake files normaly located in _<project-root-path>/conf.d/app-templates/cmake/cmake.d_ -- Home CMake files located in _$HOME/.config/app-templates/cmake.d_ -- System CMake files located in _/etc/app-templates/cmake.d_ - -CMake files has to be named using the following convention: `XX-common-*.cmake` -or `XX-${PROJECT_NAME}-*.cmake`, where `XX` are numbers, `*` file name -(ie. `99-common-my_customs.cmake`). - -> **NOTE** You need to specify after numbers that indicate include order, to -which project that file applies, if it applies to all project then use keyword -`common`. - -So, saying that you should be aware that every normal cmake variables used at -project level could be overwrited by home or system located cmake files if -variables got the same name. Exceptions are cached variables set using -**CACHE** keyword: - -Example: - -```cmake -set(VARIABLE_NAME 'value string random' CACHE STRING 'docstring') -``` - -## Include customs templated scripts - -As well as for additionnals cmake files you can include your own templated -scripts that will be passed to cmake command `configure_file`. - -Just create your own script to the following directories: - -- Home location in _$HOME/.config/app-templates/scripts_ -- System location in _/etc/app-templates/scripts_ - -Scripts only needs to use the extension `.in` to be parsed and configured by -CMake command. diff --git a/conf.d/app-templates/docs/dev_guide/5_autobuild.md b/conf.d/app-templates/docs/dev_guide/5_autobuild.md deleted file mode 100644 index fe1c63d..0000000 --- a/conf.d/app-templates/docs/dev_guide/5_autobuild.md +++ /dev/null @@ -1,41 +0,0 @@ -# Autobuild script usage - -## Generation - -To be integrated in the Yocto build workflow you have to generate `autobuild` -scripts using _autobuild_ target. - -To generate those scripts proceeds: - -```bash -mkdir -p build -cd build -cmake .. && make autobuild -``` - -You should see _conf.d/autobuild/agl/autobuild_ file now. - -## Available targets - -Here are the available targets available from _autobuild_ scripts: - -- **clean** : clean build directory from object file and targets results. -- **distclean** : delete build directory -- **configure** : generate project Makefile from CMakeLists.txt files. -- **build** : compile all project targets. -- **package** : build and output a wgt package. - -You can specify variables that modify the behavior of compilation using -the following variables: - -- **CONFIGURE_ARGS** : Variable used at **configure** time. -- **BUILD_ARGS** : Variable used at **build** time. -- **DEST** : Directory where to output ***wgt*** file. - -Variable as to be in CMake format. (ie: BUILD_ARGS="-DC_FLAGS='-g -O2'") - -Usage example: - -```bash -./conf.d/autobuild/wgt/autobuild package DEST=/tmp -``` diff --git a/conf.d/app-templates/docs/dev_guide/pictures/iotbzh_logo_small.png b/conf.d/app-templates/docs/dev_guide/pictures/iotbzh_logo_small.png Binary files differdeleted file mode 100644 index 6a98c60..0000000 --- a/conf.d/app-templates/docs/dev_guide/pictures/iotbzh_logo_small.png +++ /dev/null diff --git a/conf.d/app-templates/docs/resources/cover.svg b/conf.d/app-templates/docs/resources/cover.svg deleted file mode 100644 index 6726de7..0000000 --- a/conf.d/app-templates/docs/resources/cover.svg +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="1800" - height="2360" - viewBox="0 0 1800 2360" - id="svg2" - version="1.1" - inkscape:version="0.91 r13725" - sodipodi:docname="cover.svg"> - <defs - id="defs4175"> - <filter - style="color-interpolation-filters:sRGB" - inkscape:label="Drop Shadow" - id="filter4000"> - <feFlood - result="flood" - flood-color="rgb(0,0,0)" - flood-opacity="0.475" - id="feFlood4002" /> - <feComposite - result="composite1" - operator="in" - in="flood" - in2="SourceGraphic" - id="feComposite4004" /> - <feGaussianBlur - result="blur" - stdDeviation="5" - id="feGaussianBlur4006" /> - <feOffset - result="offset" - dy="8" - dx="8" - id="feOffset4008" /> - <feComposite - result="composite2" - operator="over" - in="SourceGraphic" - in2="offset" - id="feComposite4010" /> - </filter> - <filter - style="color-interpolation-filters:sRGB" - id="filter4000-6" - inkscape:label="Drop Shadow"> - <feFlood - id="feFlood4002-4" - flood-opacity="0.475" - flood-color="rgb(0,0,0)" - result="flood" /> - <feComposite - id="feComposite4004-6" - in2="SourceGraphic" - in="flood" - operator="in" - result="composite1" /> - <feGaussianBlur - id="feGaussianBlur4006-2" - stdDeviation="5" - result="blur" /> - <feOffset - id="feOffset4008-8" - dx="8" - dy="8" - result="offset" /> - <feComposite - id="feComposite4010-9" - in2="offset" - in="SourceGraphic" - operator="over" - result="composite2" /> - </filter> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.24748737" - inkscape:cx="928.3577" - inkscape:cy="404.58117" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:snap-text-baseline="false" - units="px" - inkscape:window-width="1920" - inkscape:window-height="1171" - inkscape:window-x="1920" - inkscape:window-y="0" - inkscape:window-maximized="1" - showguides="false" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,1307.6379)"> - <g - id="iotbzh-logo" - transform="matrix(2.3917866,0,0,2.3917866,216.6324,-1946.4393)" - inkscape:export-filename="/home/sdx/Pictures/Logo/logo_iot_bzh_100dpi.png" - inkscape:export-xdpi="100.22011" - inkscape:export-ydpi="100.22011" - style="display:inline;filter:url(#filter4000-6)"> - <text - sodipodi:linespacing="125%" - id="text3557-5-3-7-0-7-3" - y="519.50671" - x="27.886671" - style="font-style:normal;font-weight:normal;font-size:97.09867096px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:97.09867096px;line-height:125%;font-family:FreeEuro;-inkscape-font-specification:'FreeEuro Bold';text-align:start;writing-mode:lr-tb;text-anchor:start" - y="519.50671" - x="27.886671" - id="tspan3559-5-4-1-5-0-6" - sodipodi:role="line">IOT</tspan></text> - <path - inkscape:connector-curvature="0" - d="m 286.73007,473.23356 c 28.21686,16.29102 28.75566,58.73779 0.99693,78.53831 -7.67688,5.47598 -8.77935,4.91028 -1.99529,-1.0238 17.47377,-15.28453 17.98492,-42.17775 1.08522,-57.09786 l -3.91266,-3.45435 0.72312,-3.71053 c 0.39771,-2.04076 0.5997,-5.73115 0.44885,-8.20083 -0.33876,-5.54623 0.15803,-6.49185 2.65383,-5.05094 z m -64.76568,11.40332 c 7.06047,-7.74198 18.64659,-14.16089 29.04027,-16.08874 l 6.87489,-1.27521 0.87404,2.89709 c 0.4807,1.59343 0.67439,5.2245 0.43037,8.06906 l -0.44364,5.17195 -6.13887,1.6918 c -10.91241,3.00731 -20.4022,10.85909 -25.4533,21.05979 l -2.41633,4.87984 -2.74281,-0.41238 c -5.14252,-0.77316 -12.72985,-3.97645 -12.79123,-5.40033 -0.092,-2.13451 8.34659,-15.74625 12.76661,-20.59287 z m 33.20546,36.39493 c -28.21687,16.29101 -65.24624,-4.46574 -68.51461,-38.40577 -0.9039,-9.38637 0.13723,-10.0583 1.88428,-1.21608 4.49989,22.77499 27.53453,36.66428 48.90556,29.48876 l 4.94788,-1.66128 2.85184,2.48149 c 1.56852,1.36481 4.66349,3.38493 6.87772,4.48914 4.97257,2.47973 5.54308,3.38282 3.04733,4.82374 z m 22.50729,-61.79039 c 3.17451,9.98553 2.94038,23.22889 -0.58688,33.19399 l -2.33309,6.59143 -2.94597,-0.69161 c -1.6203,-0.38041 -4.86173,-2.02821 -7.2032,-3.6618 l -4.25721,-2.97018 1.60429,-6.16234 c 2.85178,-10.95404 0.79685,-23.09833 -5.51167,-32.57307 l -3.01788,-4.53253 1.72854,-2.16916 c 3.24083,-4.06698 9.80863,-9.03614 11.07242,-8.37738 1.89457,0.98756 9.46336,15.1015 11.45065,21.35265 z m -48.80223,10.31437 c 0,-32.58201 36.49058,-54.27201 67.51771,-40.1325 8.58077,3.9104 8.6421,5.148 0.11108,2.23988 -21.97368,-7.49048 -45.51946,5.51348 -49.99082,27.6091 l -1.03521,5.11561 -3.57498,1.22902 c -1.96621,0.67596 -5.26316,2.34622 -7.32655,3.71171 -4.63379,3.06649 -5.70115,3.10904 -5.70115,0.22718 z m 42.25842,50.3871 c -10.23499,-2.24356 -21.58699,-9.06801 -28.45341,-17.10525 l -4.5418,-5.31622 2.07194,-2.20549 c 1.13957,-1.21302 4.18733,-3.19628 6.77282,-4.40726 l 4.70085,-2.20176 4.53458,4.47053 c 8.06061,7.94674 19.60535,12.23927 30.96496,11.51329 l 5.43422,-0.34731 1.01427,2.58154 c 1.90169,4.84014 2.92124,13.01261 1.71883,13.77769 -1.80254,1.14695 -17.80995,0.64475 -24.21726,-0.75976 z" - style="display:inline;fill:#5a2ca0" - id="path3415-4-2-2-5-0-3-7-4-4-1-5" /> - <text - sodipodi:linespacing="125%" - id="text3557-5-3-7-46-7-3-7" - y="519.50671" - x="317.95816" - style="font-style:normal;font-weight:normal;font-size:97.09867096px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:97.09867096px;line-height:125%;font-family:FreeEuro;-inkscape-font-specification:'FreeEuro Bold';text-align:start;writing-mode:lr-tb;text-anchor:start" - y="519.50671" - x="317.95816" - id="tspan3559-5-4-1-90-0-2-9" - sodipodi:role="line">BZH</tspan></text> - </g> - <flowRoot - xml:space="preserve" - id="root-title" - transform="matrix(2.3469382,0,0,2.3469382,464.13874,-1200)"><flowRegion - id="flowRegion4303"><rect - id="rect4305" - width="679.99994" - height="141.42853" - x="-154.28572" - y="400"/> - </flowRegion> - <flowPara - id="title" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:87.5px;line-height:125%;font-family:Verdana;-inkscape-font-specification:'Verdana, Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1">{title}</flowPara></flowRoot> <flowRoot - xml:space="preserve" - id="root-subtitle" - transform="matrix(1.8523279,0,0,1.8523279,553.97647,-380)"><flowRegion - id="flowRegion4303-6"><rect - id="rect4305-0" - width="852.32806" - height="154.51677" - x="-239.3591" - y="290"/> - </flowRegion> - <flowPara - id="subtitle" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:62.5px;line-height:125%;font-family:Verdana;-inkscape-font-specification:'Verdana, Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1">{subtitle}</flowPara> - </flowRoot> - <flowRoot - id="root-version" - xml:space="preserve" - transform="translate(-2.0185547,164)"><flowRegion - id="flowRegion4169"><rect - y="501.68909" - x="343.32947" - height="99.591171" - width="1117.3768" - id="rect4171" /></flowRegion><flowPara - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50px;line-height:125%;font-family:Verdana;-inkscape-font-specification:'Verdana, Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1" - id="version">{version}</flowPara></flowRoot> <flowRoot - transform="translate(-2.0185547,238)" - xml:space="preserve" - id="root-date"><flowRegion - id="flowRegion4170"><rect - id="rect4172" - width="1117.3768" - height="99.591171" - x="343.32947" - y="501.68909" /></flowRegion><flowPara - id="date" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:50px;line-height:125%;font-family:Verdana;-inkscape-font-specification:'Verdana, Bold';text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1">{date}</flowPara></flowRoot> </g> -</svg> diff --git a/conf.d/app-templates/docs/resources/ebook.css b/conf.d/app-templates/docs/resources/ebook.css deleted file mode 100644 index 39f126c..0000000 --- a/conf.d/app-templates/docs/resources/ebook.css +++ /dev/null @@ -1,386 +0,0 @@ -/* IoT.Bzh theaming */ - -h1 { - color: #330066; - border-bottom: 2px solid #330066; -} - -h2 { - color: #330066; -} - -h3 { - color: #330066; -} - -h4 { - color: #330066; -} - - -/* GENERAL ELEMENTS */ - -/* clear both */ - -.clear { - clear: both; -} - -.section> :last-child { - margin-bottom: 0 !important; -} - -.section> :first-child { - margin-top: 0 !important; -} - - -/* SPECIAL ELEMENTS */ - - -/* page break always after element on pdf/print definition */ - -div.pagebreak { - page-break-after: always; -} - - -/* no page break inside element on pdf/print definition */ - -div.nopb { - page-break-inside: avoid !important; - margin: 4px 0 4px 0; -} - - -/* note blocks */ - -div.note { - background: #FCF8E3 none repeat scroll 0% 0%; - color: #8A6D3B; - padding: 15px; - margin-bottom: 10px; - border-bottom: 5px solid #DDD; - border-color: #FAEBCC; - page-break-inside: avoid; -} - -div.note p { - padding-bottom: 0; - margin-bottom: 0; -} - - -/* images, figures and captions */ - -p img { - /* center all images */ - display: block; - margin: 0 auto; - padding: 10px 0; -} - -figure { - margin: 1.0em 0px; - padding: 10px 0; - text-align: center; - page-break-inside: avoid; - display: block; -} - -figure img { - display: block; - margin: 0 auto; -} - -figcaption { - clear: left; - margin: 1.0em 0 0 0; - text-align: center; - font-style: italic; - line-height: 1.5em; - font-size: 80%; - color: #666; - display: block; -} - -.page .section p img { - margin-top: 10px; -} - - -/* ul, ol list margin fix */ - -.page .section ol, -.page .section ul { - margin-bottom: 10px; -} - - -/* blockquotes */ - -.page .section blockquote { - margin: 0 0 0 5%; - font-style: italic; -} - - -/* PAGE SPECIFIC */ - - -/* set summary page to right side of the paper */ - -.page .toc h1 { - page-break-before: right; -} - -.page .section.toc { - page-break-inside: always; -} - -/* table headers */ - -div#README\.md table { - margin-top: 30px; - font-size: 95%; -} - -div#README\.md table thead { - display: none; -} - - - -/* CITATION AND IMAGES */ - - -/* math image styles */ - -.page .section p img.svg, -.page .section p img.png { - margin-top: 0px; - margin-bottom: -2px; -} - -.page .section p img.math { - vertical-align: middle; - height: auto; - width: auto; - margin-top: -4px; - max-height: 15px; -} - -.page .section p img.math.line1 { - margin-top: -7px; - max-height: 19px; -} - -.page .section p img.math.line2 { - margin-top: -1px; - max-height: 30px; -} - - -/* credits page */ - -.page .section ul.pictures { - margin-left: -30px; -} - -.page .section ul.pictures li { - list-style: outside none none; -} - -.page .section ul.pictures li a { - float: left; -} - -.page .section ul.pictures li span { - display: block; - margin-left: 100px; -} - - - -/* sub and super script */ - -.page .section sub { - font-size: 80%; - margin-left: 1px; -} - - -/* citations and references */ - -.page .section sup { - margin-left: -1px; - margin-right: 2px; - font-size: 80%; -} - -.page .section sup:before { - content: " "; -} - -.page .section ul.citations, -.page .section ul.references { - margin-left: -30px; -} - - -.page .section ul.citations li:nth-child(1) { - margin-top: 20px; - padding-top: 20px; - border-top: 1px solid #BBB; -} - -.page .section ul.citations li, -.page .section ul.references li { - list-style: outside none none; -} - -.page .section ul.citations li { - font-size: 80%; -} - -.page .section ul.citations li>span:nth-child(1), -.page .section ul.references li>span:nth-child(1) { - display: block; - float: left; - text-align: left; - width: 70px -} - -.page .section ul.citations li>span:nth-child(1) { - width: 50px -} - -.page .section ul.references li div { - margin-left: 70px; -} - -.page .section ul.citations li div { - margin-left: 50px; -} - -.page .section a[href="#"], -.page .section a[href="#"]:link, -.page .section a[href="#"]:visited, -.page .section a[href="#"]:hover, -.page .section a[href="#"]:focus { - text-decoration: none; - color: inherit; - cursor: text; - font-style: italic; -} - - -/* self referential footnotes */ - -.page .section div[type="selfref"] a[href="#"], -.page .section div[type="selfref"] a[href="#"]:link, -.page .section div[type="selfref"] a[href="#"]:visited, -.page .section div[type="selfref"] a[href="#"]:hover, -.page .section div[type="selfref"] a[href="#"]:focus { - font-style: normal; -} - -.page .section div[type="selfref"] span:nth-child(1) { - display: none; -} - - -/* page break always after element on pdf/print definition */ - -div.page-break { - page-break-inside: always; -} - -div.page-break:before { - content: ' '; -} - - -/* no page break inside element on pdf/print definition */ - -div.nopb { - page-break-inside: avoid; -} - -/* justify text */ -p { - text-align: justify; -} - -/* page header and footer */ - -.pdf-footer, -.pdf-header { - margin-top: 20px; - color: #aaa; -} - -.pdf-header .header-left { - float: left; - margin-left: 2em; - margin-right: auto; -} - -.pdf-header .header-right { - display: table; - margin-left: auto; - margin-right: 2em; -} - -.pdf-footer .sub { - padding-top: 8px; - font-size: 70%; -} - -.pdf-header .sub { - padding-top: 2px; - font-size: 70%; -} - -.pdf-footer { - padding-top: 10px; - border-top: 1px solid #eee; -} - -.pdf-footer .footer-left { - float: left; - margin-left: 2em; - margin-right: auto; -} - -.pdf-footer .footer-center { - display: table; - margin-left: auto; - margin-right: auto; -} - -.pdf-footer .footer-right { - float: right; - margin-left: auto; - margin-right: 2em; -} - -.pdf-header { - padding-bottom: 10px; - border-bottom: 1px solid #eee; -} - -.pdf-header .header-pages-count { - float: right; - text-align: right; -} - -.pdf-header .header-pages-count a, -.pdf-header .header-pages-count a:visited, -.pdf-header .header-pages-count a:active, -.pdf-header .header-pages-count a:focus, -.pdf-header .header-pages-count a:link { - text-decoration: none; - color: #aaa; - cursor: text; -} diff --git a/conf.d/app-templates/docs/resources/make_cover.sh b/conf.d/app-templates/docs/resources/make_cover.sh deleted file mode 100755 index 1026ecb..0000000 --- a/conf.d/app-templates/docs/resources/make_cover.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -DOCS_DIR=$(cd $(dirname $0)/.. && pwd) -BOOKFILE=$DOCS_DIR/../book.json - -TITLE=$(grep '"title":' $BOOKFILE | cut -d'"' -f 4) -SUBTITLE=$(grep '"subtitle":' $BOOKFILE | cut -d'"' -f 4) -VERSION="Version $(grep '"version":' $BOOKFILE | cut -d'"' -f 4)" -DATE=$(grep '"published":' $BOOKFILE | cut -d'"' -f 4) - -[ -z "$TITLE" ] && { echo "Error TITLE not set!" ; exit 1; } -[ -z "$VERSION" ] && { echo "Error VERSION not set!" ; exit 1; } -[ -z "$DATE" ] && { echo "Error DATE not set!" ; exit 1; } - - -cat $(dirname $0)/cover.svg | sed -e "s/{title}/$TITLE/g" \ - -e "s/font-size:87.5px/font-size:54px/g" \ - -e "s/{subtitle}/$SUBTITLE/g" \ - -e "s/font-size:62.5px/font-size:40px/g" \ - -e "s/{version}/$VERSION/g" \ - -e "s/{date}/$DATE/g" \ - > /tmp/cover.svg - -# use imagemagick convert tool (cover size must be 1800x2360) -convert -resize "1600x2160!" -border 100 -bordercolor white -background white \ - -flatten -quality 100 /tmp/cover.svg $DOCS_DIR/cover.jpg - -convert -resize "200x262!" $DOCS_DIR/cover.jpg $DOCS_DIR/cover_small.jpg |