{"id":13631389,"url":"https://github.com/eerotal/LibreSignage","last_synced_at":"2025-04-17T22:30:55.369Z","repository":{"id":41947469,"uuid":"119862657","full_name":"eerotal/LibreSignage","owner":"eerotal","description":"A free and open source digital signage solution.","archived":true,"fork":false,"pushed_at":"2021-02-03T21:22:23.000Z","size":5887,"stargazers_count":673,"open_issues_count":38,"forks_count":126,"subscribers_count":36,"default_branch":"master","last_synced_at":"2024-08-01T22:48:24.664Z","etag":null,"topics":["digital-signage","signage","slideshow"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eerotal.png","metadata":{"files":{"readme":"README.rst","changelog":"changelog.txt","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-01T16:32:16.000Z","updated_at":"2024-07-24T12:38:58.000Z","dependencies_parsed_at":"2022-09-21T09:20:16.966Z","dependency_job_id":null,"html_url":"https://github.com/eerotal/LibreSignage","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eerotal%2FLibreSignage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eerotal%2FLibreSignage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eerotal%2FLibreSignage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eerotal%2FLibreSignage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eerotal","download_url":"https://codeload.github.com/eerotal/LibreSignage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223768460,"owners_count":17199352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["digital-signage","signage","slideshow"],"created_at":"2024-08-01T22:02:23.550Z","updated_at":"2024-11-08T23:30:41.146Z","avatar_url":"https://github.com/eerotal.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":".. image:: http://etal.mbnet.fi/libresignage/logo/libresignage_text_466x100.png\n\nA free and open source digital signage solution.\n\n.. image:: https://travis-ci.org/eerotal/LibreSignage.svg?branch=master\n    :target: https://travis-ci.org/eerotal/LibreSignage\n\n\nLibreSignage is unmaintained as of 3rd of February 2021\n-------------------------------------------------------\n\nLibreSignage started in 2018 as a small project aiming to make digital signage\naccessible to everyone. Since then the project has grown a lot, many new features\nhave been added and even some contributions have been merged from other people.\nDeveloping LibreSignage has been a fantastic journey and I'm really grateful for\nfor all code and bug reports submitted by contributors. I have personally spent\nhundreds of hours working on LibreSignage and enjoyed every bit of that time. It\nreally has been a great 3 years.\n\nThat said, unfortunately I don't have the time, resources or interest to continue\ndeveloping or supporting LibreSignage anymore. As such, after 3rd of Februrary 2021,\nLibreSignage development and support is officially halted. If I regain my interest\nin developing LibreSignage I might pick up the project again but **for now LibreSignage\nis unmaintained.**\n\nTable Of Contents\n-----------------\n\n`1. Introduction`_\n\n`2. Features`_\n\n`3. Project goals`_\n\n`4. Installation`_\n\n* `4.1. Minimum system requirements`_\n\n* `4.2. Using prebuilt Docker images on any distribution`_\n\n* `4.3. Building from source`_\n\n  * `4.3.1. Building a native build on Debian or Ubuntu`_\n\n  * `4.3.2. Building a Docker image on Debian or Ubuntu`_\n\n`5. Default users`_\n\n`6. FAQ`_\n\n`7. Screenshots`_\n\n`8. Makefile`_\n\n`8.1. Targets`_\n\n`8.2. Option variables`_\n\n`9. Build targets`_\n\n`10. Documentation`_\n\n`11. Third-party dependencies`_\n\n`12. License`_\n\n1. Introduction\n---------------\n\nDigital Signage is everything from large-scale commercial billboards\nto smaller advertisement displays, notice boards or digital restaurant\nmenus. The possibilities of digital signage are endless. If you need\nto display periodically changing content to users on a wall-mounted\nTV for example, digital signage is probably what you are looking for.\n\nLibreSignage is a free and open source, lightweight and easy-to-use\ndigital signage solution for use in schools, cafés, restaurants and\nshops among others. LibreSignage can be used to manage a network of\ndigital signage displays. Don't let the word network fool you though;\na network can be as small as one display on an office wall or as big\nas 50+ displays spread throughout a larger building.\n\nLibreSignage also includes multi-user support with password authentication\nand configurable access control to specific features. If a school wants\nto setup a digital notice board system for example, they might give\nevery teacher an account with slide editing permissions so that teachers\ncould manage the content on the internal digital signage network. This\nway the teachers could inform students about important things such as\nupcoming tests for example.\n\nLibreSignage uses a HTTP web server to serve content to the individual\nsignage displays. This means that he displays only need to run a web\nbrowser pointed to the central LibreSignage server to actually display\ncontent. This approach has a few advantages.\n\n1. It's simple - No specific hardware/software platform is required.\n   Any system with a fairly recent web browser works.\n2. It's cheap - You don't necessarily need to buy lots of expensive\n   equipment to get started. Just dust off the old PC in the closet,\n   install an up-to-date OS like Linux on it, install a web browser,\n   hide the mouse pointer by default and connect the system to a\n   display. That's it. The only other thing you need is the server,\n   which in fact can run on the same system if needed.\n3. It's reliable - The web infrastructure is already implemented and\n   well tested so why not use it.\n4. It makes editing easy - Displaying content in a browser has the\n   advantage of making slide previewing very simple. You can either\n   use the 'Live Preview' in the editor or check the exact results\n   from the actual 'Display' page that's displayed on the clients too.\n\n2. Features\n-----------\n\n* Web interface for editing slides and managing the LibreSignage instance.\n* Many per slide settings like durations, transitions, etc.\n* Special markup syntax for easily formatting slides.\n* Live preview of the slide markup in the slide editor.\n* Support for embedding remote or uploaded image and video files.\n* Support for scheduling specific slides for a specific time-frame.\n* Collaboration features with other users on the network.\n* Separate slide queues for different sets of signage clients.\n* Multi user support with configurable access control.\n* User management features for admin users in the web interface.\n* Configurable quota for the amount of slides a user can create.\n* Rate limited API for reducing server load.\n* Extensive documentation of features including docs for developers.\n* Extensive configuration possibilities.\n\n3. Project goals\n----------------\n\n* Create a lightweight alternative to other digital signage solutions.\n* Create a system that's both easy to set up and easy to use.\n* Write a well documented and modular API so that implementing new\n  user interfaces is simple.\n* Avoid scope creep.\n* Document all features.\n* Keep it simple.\n\n4. Installation\n---------------\n\n4.1. Minimum system requirements\n++++++++++++++++++++++++++++++++\n\nDisk space\n  \u003e 100MB (Excludes dependencies and uploaded media.)\n\nRAM\n  Depends on the specific use case.\n\nTested operating systems\n  It's possible to build LibreSignage on most Linux systems, but the default\n  scripts work at least on Debian and Ubuntu. You can technically run the\n  official Docker images on any system, possibly even on Microsoft Windows.\n\n*Required* runtime dependencies\n  * PHP (Version 7.x.)\n  * Apache2 (Version 2.4.x.)\n\n*Optional* runtime dependencies\n  * php-gd extension for image thumbnail generation.\n  * ffmpeg (Version 4.0.x) for video thumbnail generation.\n  * php-xml extension for running PHPUnit.\n\n*Required* build system dependencies\n  * PHP (Version 7.x.) (http://www.php.net/)\n  * GNU Make (Version 4.x or newer.) (https://www.gnu.org/software/make/)\n  * Pandoc (Version 2.0.x or newer.) (https://pandoc.org/)\n  * npm (Version 6.4.x or newer.) (https://nodejs.org/en/)\n  * composer (Version 1.8.x or newer) (https://getcomposer.org/)\n  * rsvg-convert (Version 2.44.x or newer.) (https://gitlab.gnome.org/GNOME/librsvg)\n\n*Optional* build system dependencies.\n  * Doxygen (Version 1.8.x or newer.) (http://www.doxygen.nl/)\n\nDependencies installed automatically by *npm* or *composer*\n  * Tools \u0026 development libraries\n\n    * SASS (https://sass-lang.com/)\n    * Browserify (http://browserify.org/)\n    * PostCSS (https://postcss.org/)\n    * Autoprefixer (https://github.com/postcss/autoprefixer)\n    * PHPUnit (https://phpunit.de/)\n\n  * Libraries\n\n    * Ace editor (https://ace.c9.io/)\n    * Bootstrap (https://getbootstrap.com/)\n    * jQuery (https://jquery.com/)\n    * Popper.js (https://popper.js.org/)\n    * Font-Awesome Free (https://fontawesome.com/)\n    * HttpFoundation (https://symfony.com/)\n    * Guzzle (https://github.com/guzzle/guzzle)\n    * json-schema (https://github.com/justinrainbow/json-schema)\n    * JSDOM (https://github.com/jsdom/jsdom)\n    * node-XMLHttpRequest (https://github.com/driverdan/node-XMLHttpRequest)\n    * commonjs-assert (https://github.com/browserify/commonjs-assert)\n\nSee `11. Third-party dependencies`_ for license information.\n\n4.2. Using prebuilt Docker images on any distribution\n+++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nYou can easily deploy a containerized LibreSignage instance using the\nLibreSignage Docker images from Docker Hub. The LibreSignage Docker\nrepository `eerotal/libresignage` contains the following images:\n\n* **eerotal/libresignage:latest  - (Recommended) The latest stable image.**\n* eerotal/libresignage:nightly   - The latest development build. This image\n                                   is built from the `next` branch every night\n                                   at 00:00.\n* eerotal/libresignage:\u003cversion\u003e - The current and all prevous stable releases.\n                                   If you want to use the latest stable release,\n                                   prefer the `latest` tag instead. `\u003cversion\u003e`\n                                   is the version number of the release.\n\nThe steps required to run a LibreSignage Docker image are listed below.\n\n1. Install `Docker \u003chttps://www.docker.com/\u003e`_ if it's not installed yet.\n2. Run the following command::\n\n       docker run \\\n           -d \\\n           -p 80:80 \\\n           --mount source=ls_vol,target=/var/www/html/data \\\n           eerotal/libresignage:latest\n\n   This command pulls the latest stable LibreSignage image from Docker Hub,\n   binds port 80 on the host system to the container's port 80 (*-p*) and\n   creates a volume *ls_vol* for storing LibreSignage data (*--mount*).\n   `eerotal/libresignage:latest` is the image to run. Replace the tag after\n   `:` to run a different image. *You might need to prefix the above command\n   with `sudo` depending on your system configuration.*\n3. Navigate to *localhost* and you should see the LibreSignage login\n   page. The file *src/docs/rst/docker.rst* in the LibreSignage source\n   distribution contains a more detailed explanation of using the\n   LibreSignage Docker image. The documentation can also be accessed in\n   the web interface from the *Help* page.\n\n4.3. Building from source\n+++++++++++++++++++++++++\n\n4.3.1. Building a native build on Debian or Ubuntu\n..................................................\n\nBuilding LibreSignage from source isn't too difficult. You can build\na native LibreSignage build that runs directly on a Debian or Ubuntu\nhost (ie. no containers) by following the instructions below.\n\n1. Install software needed for building LibreSignage. You will need the\n   following packages: ``git, apache2, php, php-gd, pandoc, npm, composer,\n   make, rsvg-convert``. All other packages except *npm* can be\n   installed from the distribution repos by running ``sudo apt update \u0026\u0026 sudo\n   apt install -y git apache2 php php-gd pandoc composer make librsvg2-bin``.\n   You can install NPM by following the instructions on the\n   `node.js website \u003chttps://nodejs.org/en/download/package-manager/\u003e`_.\n\n   * If you want to enable video thumbnail generation, you need to install\n     *ffmpeg* too. You can do that by running ``sudo apt install -y ffmpeg``.\n\n   * If you want to run the PHPUnit unit tests you need to install the php-xml\n     extension. You can do that by running ``sudo apt install -y php-xml``.\n\n   * If you want to generate Doxygen documentation for LibreSignage, you\n     need to install Doxygen. You can do that by running\n     ``sudo apt install -y doxygen``\n\n   See the section `4.1. Minimum system requirements`_ for more info.\n2. Use ``cd`` to move to the directory where you want to download the\n   LibreSignage repository.\n3. Run ``git clone https://github.com/eerotal/LibreSignage.git``.\n   The repository will be cloned into the directory *LibreSignage/*.\n4. Run ``cd LibreSignage`` to move into the LibreSignage repository.\n5. Run ``make configure TARGET=apache2-debian-interactive``. This target\n   installs any needed *composer* and *npm* dependencies first and then\n   prompts you for some configuration values:\n\n   * Install directory [default: /var/www]\n\n     * The directory where LibreSignage is installed. A subdirectory\n       is created in this directory.\n\n   * Server domain [default: localhost]\n\n     * The domain name to use for configuring apache2. If you\n       don't have a domain and you are just testing the system,\n       you can either use 'localhost', your machines LAN IP or\n       a test domain you don't actually own. If you use a test\n       domain, you can add it to your */etc/hosts* file to make\n       it work on your machine.\n\n   * Domain aliases [default: ]\n\n     * Domain name aliases for the server. Aliases make it possible\n       to have the server respond from multiple domains. One useful\n       way to use name aliases is to set *localhost* as the main\n       domain and the LAN IP of the server as an alias. This would\n       make it possible to connect to the server either by navigating\n       to *localhost* on the host machine or by connecting to the LAN\n       IP on the local network.\n\n   * Admin name [default: Example Admin]\n\n     * Shown to users on the main page as contact info in case of\n       any problems.\n\n   * Admin email [default: admin@example.com]\n\n     * Shown to users on the main page as contact info in case of\n       any problems.\n\n   * Enable image thumbnail generation? (Y/N/y/n) [default: N]\n\n     * Enable image thumbnail generation on the server. Currently\n       image thumbnails are only generated for uploaded slide\n       media. This option only works if the PHP GD extension is\n       installed and enabled. You can check whether it's enabled\n       by running ``php -m``. If *gd* is in the printed list, it\n       is enabled. If *gd* doesn't appear in the list but is\n       installed, you can run ``sudo phpenmod gd`` to enable it.\n\n   * Enable video thumbnail generation? (Y/N/y/n) [default: N]\n\n     * Enable video thumbnail generation. Currently video thumbnails\n       are only generated for uploaded slide media. **Note that video\n       thumbnail generation requires ffmpeg and ffprobe to be\n       available on the host system.** If you enable this option,\n       you'll also need to configure the binary paths to *ffmpeg*\n       and *ffprobe* in the LibreSignage configuration files. The\n       paths default to */usr/bin/ffmpeg* and */usr/bin/ffprobe*.\n       See the help page `Libresignage configuration` or the file\n       `src/doc/rst/configuration.rst` for more info.\n\n   * Enable debugging? (Y/N/y/n) [default: N]\n\n     *  Whether to enable debugging. This enables things like\n        verbose error reporting through the API etc. **DO NOT\n        enable debugging on production systems.**\n\n   This command generates a build configuration file needed\n   for building LibreSignage. The file is saved in ``build/`` as\n   ``\u003cDOMAIN\u003e.conf`` where ``\u003cDOMAIN\u003e`` is the domain name you\n   specified.\n6. Run ``make -j$(nproc)`` to build LibreSignage. See `8. Makefile`_\n   for more advanced make usage.\n7. Finally, to install LibreSignage, run ``sudo make install`` and answer\n   the questions asked.\n8. Disable the default Apache site by running\n   ``sudo a2dissite 000-default.conf``.\n9. Navigate to the domain name you entered and you should see the\n   LibreSignage login page.\n\n4.3.2. Building a Docker image on Debian or Ubuntu\n..................................................\n\nYou can build LibreSignage Docker images by following the instructions\nbelow.\n\n1. Follow the steps 1-5 from `4.3.1. Building a native build on Debian\n   or Ubuntu`_.\n2. Install `Docker \u003chttps://www.docker.com/\u003e`_ if it isn't yet installed.\n3. Run the following command::\n\n       make configure \\\n           TARGET=apache2-debian-docker \\\n           PASS=\"--features [features]\"\n\n   Where ``[features]`` is a comma separated list of features to enable.\n   The recognised features are:\n\n   * imgthumbs = Image thumbnail generation using *PHP gd*.\n   * vidthumbs = Video thumbnail generation using *ffmpeg*.\n   * debug     = Debugging.\n\n4. Run ``make`` to build the LibreSignage distribution.\n5. Run ``make install`` to package LibreSignage in a Docker image.\n   This will take some time as Docker needs to download a lot of stuff.\n   After this command has completed the LibreSignage image is saved in\n   your machine's Docker registry as *libresignage:[version]*. You can\n   use it by following the instructions in `4.2. Using prebuilt Docker\n   images on any distribution`_.\n\nExtra\n*****\n\n You can also build LibreSignage Docker images automatically using the\n helper script *build/helpers/docker/build_img.sh*. If you want to build\n a release image just run the script. If you want to build a development\n image, pass *dev* as the first argument.\n\n The *build/helpers/docker/* directory also contains the script\n *run_dev.sh* for starting a development/testing docker container.\n\n5. Default users\n----------------\n\nThe default users and their groups and passwords are listed below.\nIt goes without saying that you should create new users and change\nthe passwords if you intend to use LibreSignage on a production\nsystem.\n\n=========== ======================== ==========\n    User             Groups           Password\n=========== ======================== ==========\nadmin        admin, editor, display   admin\nuser         editor, display          user\ndisplay      display                  display\n=========== ======================== ==========\n\n\n6. FAQ\n------\n\nWhy doesn't LibreSignage use framework/library X?\n  To avoid bloat; LibreSignage is designed to be minimal and lightweight\n  and it only uses external libraries where they are actually needed.\n  Most UI frameworks for example are huge. LibreSignage does use\n  Bootstrap though, since it's a rather clean and simple framework.\n\nWhy doesn't LibreSignage have feature X?\n  You can suggest new features in the bug tracker. If you know a bit\n  about programming in PHP, JS, HTML and CSS, you can also implement\n  the feature yourself and create a pull request.\n\nIs LibreSignage really free?\n  YES! In fact LibreSignage is not only free, it's also open source.\n  You can find information about the LibreSignage license in the\n  section `12. License`_.\n\n7. Screenshots\n---------------\n\nOpen these images in a new tab to view the full resolution versions.\n\n**LibreSignage Login**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/login.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage Control Panel**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/control.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage Editor**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/editor.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage Media Uploader**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/media_uploader.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage User Manager**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/user_manager.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage User Settings**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/user_settings.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage Display**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/display.png\n   :width: 320 px\n   :height: 180 px\n\n**LibreSignage Documentation**\n\n.. image:: http://etal.mbnet.fi/libresignage/v1.0.0/docs.png\n   :width: 320 px\n   :height: 180 px\n\n8. Makefile\n-----------\n\n8.1. Targets\n++++++++++++\n\nThe following ``make`` targets are implemented.\n\nall\n  The default rule that builds the LibreSignage distribution. You\n  can pass ``NOHTMLDOCS=y`` if you don't want to generate any HTML\n  documentation.\n\nconfigure\n  Generate a LibreSignage build configuration file. You need to use\n  ``TARGET=[target]`` to select a build target to use. You can also\n  optionally use ``PASS=[pass]`` to pass any target specific arguments\n  to the build configuration script. See `9. Build targets`_ for more info.\n\nconfigure-build\n  Generate a LibreSignage build configuration file. You need to pass\n  ``TARGET=[target]`` to select a build target to use. You can also optionally\n  use ``PASS=[pass]`` to pass any target specific arguments to the build\n  configuration script. See `9. Build targets`_ for more info. **You don't need\n  to run this target because the configure target runs this one aswell.**\n\nconfigure-system\n  Generate LibreSignage system configuration files. **You don't need to run\n  this target because the configure target runs this one aswell.**\n\ninstall\n  Install the LibreSignage distribution on the system. Note that\n  the meaning of install depends on the target you are building for.\n  Running ``make install`` for the *apache2-debian-docker* target,\n  for example, builds the Docker image (ie. installs LibreSignage into\n  the Docker image).\n\nclean\n  Clean files generated by building LibreSignage.\n\nrealclean\n  Same as *clean* but removes all generated files and build config files\n  too. This rule effectively resets the LibreSignage directory to how it\n  was right after cloning the repo.\n\ntest-api\n  Run the API integration tests. Note that you must install LibreSignage\n  first. The API URI can be set by changing the value of ``PHPUNIT_API_HOST``.\n  See below for more info.\n\ndoxygen-docs\n  Build the Doxygen documentation for LibreSignage. The docs are output in\n  the ``doxygen_docs/`` directory.\n\nLOC\n  Count the lines of code in LibreSignage.\n\n8.2. Option variables\n+++++++++++++++++++++\n\nYou can also pass some other variables to the LibreSignage makefile.\n\nCONF=\u003cconfig file\u003e - (default: Last generated config.)\n  Use a specific build configuration file when building or installing\n  LibreSignage. This option can be used with the targets *all* and\n  *install*.\n\nVERBOSE=\u003cY/n\u003e\n  Print verbose log output. This setting can be used with any target.\n\nINITCHK_WARN=\u003cy/N\u003e\n  Don't abort the build process if one of the initialization checks fails.\n  If this is set to Y, only a warning is printed. This option can be used\n  for example when an incompatible dependency version is used but the user\n  wants to try building LibreSignage with that version anyway.\n\nPHPUNIT_API_HOST=\u003cURI\u003e\n  Use *URI* as the hostname when running API integration tests. This is\n  ``http://localhost:80/`` by default.\n\n9. Build targets\n----------------\n\n* apache2-debian\n\n  * A target for building a native install on Debian with Apache2.\n  * Run ``make configure TARGET=apache2-debian PASS=\"--help\"`` to\n    get a list of accepted CLI options.\n\n* apache2-debian-interactive\n\n  * An interactive version of *apache2-debian*.\n  * This target doesn't accept any CLI options.\n\n* apache2-debian-docker (Build target for building Docker images.)\n\n  * A target for building Docker images.\n  * Run ``make configure TARGET=apache2-debian-docker PASS=\"--help\"`` to\n    get a list of accepted CLI options.\n\n10. Documentation\n-----------------\n\nLibreSignage documentation is written in reStructuredText, which is\na plaintext format often used for writing technical documentation.\nThe reStructuredText syntax is also human-readable as-is, so you can\nread the documentation files straight from the source tree. The docs\nare located in the directory *src/doc/rst/*.\n\nThe reStructuredText files are also compiled into HTML when LibreSignage\nis built and they can be accessed from the *Help* page of LibreSignage.\n\n11. Third-party dependencies\n----------------------------\n\nBootstrap (Library, MIT License) (https://getbootstrap.com/)\n  Copyright (c) 2011-2016 Twitter, Inc.\n\nJQuery (Library, MIT License) (https://jquery.com/)\n  Copyright JS Foundation and other contributors, https://js.foundation/\n\nPopper.JS (Library, MIT License) (https://popper.js.org/)\n  Copyright (C) 2016 Federico Zivolo and contributors\n\nAce (Library, 3-clause BSD License) (https://ace.c9.io/)\n  Copyright (c) 2010, Ajax.org B.V. All rights reserved.\n\nJSDOM (Library, MIT License) (https://github.com/jsdom/jsdom)\n  Copyright (c) 2010 Elijah Insua\n\nnode-XMLHttprequest (Library, MIT License) (https://github.com/driverdan/node-XMLHttpRequest)\n  Copyright (c) 2010 passive.ly LLC\n\nGuzzle (Library, MIT License) (https://github.com/guzzle/guzzle)\n  Copyright (c) 2011-2018 Michael Dowling, https://github.com/mtdowling \u003cmtdowling@gmail.com\u003e\n\njson-schema (Library, MIT License) (https://github.com/justinrainbow/json-schema)\n  Copyright (c) 2016\n\nSymfony/HttpFoundation (Library, MIT License) (https://symfony.com/)\n  Copyright (c) 2004-2019 Fabien Potencier\n\nRaleway (Font, SIL Open Font License 1.1) (https://github.com/impallari/Raleway)\n  Copyright (c) 2010, Matt McInerney (matt@pixelspread.com),\n\n  Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),\n\n  Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com),\n  with Reserved Font Name Raleway\n\nMontserrat (Font, SIL Open Font License 1.1) (https://github.com/JulietaUla/Montserrat)\n  Copyright 2011 The Montserrat Project Authors (https://github.com/JulietaUla/Montserrat)\n\nInconsolata (Font, SIL Open Font License 1.1) (https://github.com/googlefonts/Inconsolata)\n  Copyright 2006 The Inconsolata Project Authors (https://github.com/cyrealtype/Inconsolata)\n\nFont-Awesome (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) (https://fontawesome.com/)\n  Font Awesome Free 5.1.0 by @fontawesome - https://fontawesome.com\n\nThe full licenses for these third party libraries and resources can be\nfound in the file *src/doc/rst/LICENSES_EXT.rst* in the source\ndistribution.\n\n12. License\n-----------\n\nLibreSignage is licensed under the BSD 3-clause license, which can be\nfound in the files *LICENSE.rst* and *src/doc/rst/LICENSE.rst* in the\nsource distribution. Third party libraries and resources are licensed\nunder their respective licenses. See `11. Third-party dependencies`_ for\nmore information.\n\nCopyright Eero Talus 2018 and contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feerotal%2FLibreSignage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feerotal%2FLibreSignage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feerotal%2FLibreSignage/lists"}