{"id":14979548,"url":"https://github.com/spandigital/presidium-core","last_synced_at":"2025-10-28T18:31:48.746Z","repository":{"id":20523954,"uuid":"78177770","full_name":"SPANDigital/presidium-core","owner":"SPANDigital","description":"A Jekyll based technical software documentation framework","archived":false,"fork":false,"pushed_at":"2022-12-07T18:07:54.000Z","size":2385,"stargazers_count":7,"open_issues_count":8,"forks_count":0,"subscribers_count":31,"default_branch":"develop","last_synced_at":"2024-04-14T21:51:07.271Z","etag":null,"topics":["bootswatch","documentation-site","documentation-tool","github-page","javascript","jekyll-site","presidium","sass"],"latest_commit_sha":null,"homepage":"http://presidium.spandigital.net/","language":"SCSS","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SPANDigital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-06T05:44:58.000Z","updated_at":"2021-06-09T08:23:22.000Z","dependencies_parsed_at":"2023-01-13T21:00:59.991Z","dependency_job_id":null,"html_url":"https://github.com/SPANDigital/presidium-core","commit_stats":null,"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SPANDigital%2Fpresidium-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SPANDigital%2Fpresidium-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SPANDigital%2Fpresidium-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SPANDigital%2Fpresidium-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SPANDigital","download_url":"https://codeload.github.com/SPANDigital/presidium-core/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238700471,"owners_count":19515935,"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":["bootswatch","documentation-site","documentation-tool","github-page","javascript","jekyll-site","presidium","sass"],"created_at":"2024-09-24T14:00:16.457Z","updated_at":"2025-10-28T18:31:48.316Z","avatar_url":"https://github.com/SPANDigital.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n| Branch | Status\n|-|-\n|master|[![Build Status](https://travis-ci.org/SPANDigital/presidium-core.svg?branch=master)](https://travis-ci.org/SPANDigital/presidium-core)\n|develop|[![Build Status](https://travis-ci.org/SPANDigital/presidium-core.svg?branch=develop)](https://travis-ci.org/SPANDigital/presidium-core)\n\n# Presidium\n\nPresidium is a documentation framework that enforces industry best practices for documenting software systems. \nPresidium provides software teams with the tools to acquire, revise, categorize, utilize and evaluate small \ndocument fragments that get aggregated into a well structured static website. Presidium is based on familar tools already in use by many software development teams. \n\n## Quick Start\n- Download the [template project](https://github.com/SPANDigital/presidium-template)\n- Requires `ruby`, `bundler` and `npm`. See [setting up your environment](#setup) for further details and requirements.\n- To install the required dependencies and start the documentation server locally, run:\n```sh\n$ npm install\n$ npm start\n```\n\nThis will install all required dependencies and fire up a Jekyll server on: http://localhost:4000/\n\nAdd and edit your content following the examples in the `content` and `media` directories.\nConfigure your site using the available options in `_config.yml`\n\n## Setup and Configuration\n\n### Directory Structure\nPresidium is pre-configured with the following directories:\n```\npresidium/\n\n    content/\n        [section folders]/ : Folders with markdown content\n\n    media/ : \n        css/ : Sass styling\n        images/ : Image resources\n        [other]/ : Static files\n    \n    dist/ : Distribution directory \n        src/: Presidium and Jekyll sources\n        site/ : Generated static site\n    \n    .jekyll/ : Jekyll dependencies\n        \n    node_modules/ : node module dependencies, including the Presidium templates and structure\n        \n    _config.yml : Jekyll configuration file\n    \n    package.json : npm build scripts\n```\n\n### Content\nAll content is stored in the content directory which is divided into sub-directories. Each sub-directory contains markdown templates that should be used to create documentation. See the [template project](https://github.com/SPANDigital/presidium-template) for example usage. Presdium uses:\n* [Jekyll](http://jekyllrb.com/) A simple, blog-aware, static site generator that integrates with GitHub\n* [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/) A GitHub varient of Markdown.\n\nOther static content such as images, files, and custom styles should be added to the `media` directory.\n\nContent and media resources are kept separate from the underlying Jekyll layouts and templates to allow for easy upgrades.\n\n### Build Scripts\nThe following build scripts manage the main workflow:\n- `npm install` : Installs all npm and Jekyll dependencies required to build, run and publish your site.\n- `npm start` : Serves the Jekyll site from `dist/site` and Watches for any changes to `content` and `media`.\n- `npm run build` : Build your Jekyll site to `dist/site`.\n- `npm run gh-pages` : Publishes `dist/site` to a `gh-pages` branch in your current repo.\n- `npm run generate` : Generate site structure and prepare Jekyll sources in `dist/src`.\n\n### Configuration\nSite wide configuration, such as the site name and menu structure, can be updated in the `_config.yml` file. Changes made to this file require a site rebuild to take effect.\n\n### Styling and Theming\nAll styles are based on Bootstrap with Bootswatch themes and sass overrides. Jekyll themes are not supported.\n\n* [Sass](http://sass-lang.com/) a CSS extension language\n* [Bootswatch](https://bootswatch.com/) Boostrap-based themes\n\nTo change a theme or to provide your own styling or overrides, make changes to:\n - `_custom.scss` : any custom styles that you would like to apply\n - `_variables.scss` : change the theme and override and bootstrap or bootswatch variables\n \n### Publishing to Github Pages\nTo publish your documentation to Github pages, run:\n```sh\n$ npm run gh-pages\n```\nThis pushes your site and to a gh-pages branch on your repo. To enable your site on Github, go to your repository settings and enable Github pages using your `gh-pages` branch. \n\nFurther details may be found on [Github](https://help.github.com/articles/about-github-pages-and-jekyll/)\n\n## \u003ca name=\"setup\"\u003e\u003c/a\u003eSetting up your Environment\n`Instructions are currently only available for OSX`\n\nThe following tools are required to build and run Presidium locally:\n\n- OS: Mac OSX \n    - [npm](http://www.npmjs.com) \u003e 3.10 : Node package manager to build, serve and publish\n    - [ruby](https://www.ruby-lang.org/en/documentation/installation/) \u003e 2.1 : To build Jekyll site\n    - [bundler](http://bundler.io/) \u003e 1.14.3 : To manage Jekyll dependencies\n\n### NPM\n\n### NPM\n\nInstall using the [node package](https://nodejs.org/en/) or [nvm](http://nvm.sh)\n\n- node v6.10 (LTS)\n- npm v3.10\n\n\n### Ruby\n\nRequires ruby \u003e= 2.1\n\nNewer versions are available via Homebrew:\n```sh\n$ brew install ruby\n```\n\n### Bundler\nBundler is recommended to install Jekyll and its dependencies locally:\n```sh\n$ gem install bundler\n```\n\nFor further details on setting up Jekyll for Github pages, see: [Setting up github pages locally](https://help.github.com/articles/setting-up-your-github-pages-site-locally-with-jekyll/)\n\n## Build Server\n\n### Provisioning a Debian Based build server:\n\nThe following script may be used to provision a build server to build a Jekyll site:\n\n```sh\n#!/bin/bash\n\nsudo apt-get update\nsudo apt-get install -y curl git\n\n# Install Ruby\n# http://rvm.io/rvm/install\ngpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\n\\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.4.0\nsource ~/.rvm/scripts/rvm\nrvm install 2.4.0 --quiet-curl\nrvm use 2.4.0 --default\nruby --version\n\n# Install bundler\ngem install bundler\n\n# Install NPM\n\\curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -\nsudo apt-get install -y nodejs\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspandigital%2Fpresidium-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspandigital%2Fpresidium-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspandigital%2Fpresidium-core/lists"}