Giter Site home page Giter Site logo

githubdocs's Introduction

gitHubDocs

Easily build a searchable documentation Single Page Application (SPA) using markdown files in your Github Repo.

Installation

  1. Clone Repository: git clone https://github.com/mrvautin/githubdocs.git && cd githubdocs
  2. Install dependencies: npm install
  3. Start application: npm start
  4. Go to http://127.0.0.1:5555 in your browser

Demo

https://githubdocs.markmoffat.com

Markdown files

The docs menu and files are built using files from your Github repo set in the config. Files should have the title of the doc in a single markdown hash/# (HTML = H1) tag in the file. This is used to build the slug of the doc and the menu title etc.

See example docs here: https://github.com/mrvautin/githubdocs/tree/master/exampleDocs

Search

Search is built using Lunr.js. The index is built and stored in memory on startup. When searched from the client the API is called returning any matching docs from the embedded DB. The menu will then display the match docs. When the search term is removed, the full list of docs is returned.

Config

The config file is located here: /config/config.json.

An example config:

{
    "title": "githubdocs",
    "githubRepoOwner": "mrvautin",
    "githubRepoName": "githubdocs",
    "githubRepoPath": "exampleDocs",
    "updateDocsInterval": 300000,
    "menuItems": [
        {
            "menuTitle": "About",
            "menuLink": "/about"
        },
        {
            "menuTitle": "Contact",
            "menuLink": "/contact"
        }
    ]
}
Setting Description
title Sets the value to be displayed at the top of the page
githubRepoOwner Owner/username of the Github repo
githubRepoName Name of the repo holding the Markdown files
githubRepoPath Directory relative to the root of the repo holding the Markdown files
updateDocsInterval Determines the interval (in milliseconds) to poll Github for updates to your Markdown files/docs
menuItems Not sure how useful this is. Set the menu items in the top navigation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.