All Projects → petersamokhin → nodejs-markdown-site

petersamokhin / nodejs-markdown-site

Licence: MIT license
Markdown-based site (blog, project documentation, etc) written with NodeJS.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to nodejs-markdown-site

iA-Writer-Templates-Github-Plus
A Github flavored iA Writer template with math, graph support.
Stars: ✭ 79 (+16.18%)
Mutual labels:  markdown-to-html, markdown-viewer
BoostNote.next-local
Boost Note next local spaces is lightspeed workspace for developers
Stars: ✭ 89 (+30.88%)
Mutual labels:  markdown-to-html, markdown-viewer
doctave
A batteries-included developer documentation site generator
Stars: ✭ 349 (+413.24%)
Mutual labels:  documentation-generator, documentation-site
docuowl
🦉 A documentation generator
Stars: ✭ 1,199 (+1663.24%)
Mutual labels:  documentation-generator, documentation-site
Daux.io
Daux.io is an documentation generator that uses a simple folder structure and Markdown files to create custom documentation on the fly. It helps you create great looking documentation in a developer friendly way.
Stars: ✭ 603 (+786.76%)
Mutual labels:  markdown-to-html, documentation-generator
notes
Simple text editor for your Markdown and LaTeX notes.
Stars: ✭ 24 (-64.71%)
Mutual labels:  markdown-to-html, markdown-viewer
docs.page
Instant Open Source docs with zero configuration.
Stars: ✭ 228 (+235.29%)
Mutual labels:  markdown-to-html, documentation-generator
journalist
App to write journal digitally. Simple as that.
Stars: ✭ 23 (-66.18%)
Mutual labels:  markdown-to-html, markdown-viewer
Mditor
📝 [ M ] arkdown + E [ ditor ] = Mditor
Stars: ✭ 523 (+669.12%)
Mutual labels:  markdown-to-html, markdown-viewer
noted
Markdown note-taking with syntax highlighting and real-time preview.
Stars: ✭ 22 (-67.65%)
Mutual labels:  markdown-to-html, markdown-viewer
Markitdown
📱 A React app to preview and edit Markdown✍. You can also export it as HTML.
Stars: ✭ 26 (-61.76%)
Mutual labels:  markdown-to-html, markdown-viewer
Idea Multimarkdown
Markdown language support for IntelliJ IDEA.
Stars: ✭ 789 (+1060.29%)
Mutual labels:  markdown-to-html, markdown-viewer
Macdown
Open source Markdown editor for macOS.
Stars: ✭ 8,855 (+12922.06%)
Mutual labels:  markdown-to-html, markdown-viewer
Mizi
A simple markdown to website generator written in C++.
Stars: ✭ 31 (-54.41%)
Mutual labels:  markdown-to-html
NppMarkdownPanel
Lightweight Notepad++ plugin to preview Markdown files
Stars: ✭ 128 (+88.24%)
Mutual labels:  markdown-viewer
strictdoc
Software for writing technical requirements specifications.
Stars: ✭ 80 (+17.65%)
Mutual labels:  documentation-generator
PowerDocu
Generate technical documentation from your existing Power Automate Flows and Power Apps canvas apps
Stars: ✭ 190 (+179.41%)
Mutual labels:  documentation-generator
numpydoc.el
Insert NumPy style docstrings in Python functions.
Stars: ✭ 33 (-51.47%)
Mutual labels:  documentation-generator
AsBuiltReport.Core
Repository for AsBuiltReport core module
Stars: ✭ 38 (-44.12%)
Mutual labels:  documentation-generator
parcel-plugin-markdown-string
📦@parcel-bundler plugin for loader markdown string, markdown output HTML.
Stars: ✭ 19 (-72.06%)
Mutual labels:  markdown-to-html

Markdown Site Engine

js-standard-style contributions welcome made-with-Markdown Ask Me Anything ! GitHub license

Make your project documentation (or blog, or something else) with Markdown.

Demo: https://petersamokhin.com/markdown-site/demo

Features

  • HTML-generating on-the-fly from the Markdown files.
  • Generating of navigation on-the-fly.
  • Dynamic permissions management:
    • Each user has a list of roles (roles are like GitHub's organization's groups).
    • Each page and directory should have a list of roles.
    • User can see the page (in navigation too) if he has at least one role from page's list.
  • Search on all pages depending on access rights of current user.
  • Preview of result html page in creating page.
  • All settings and access rights are fully configurable (using admin panel or changing the code).
  • Too easy to add new setting — admin panel is generated too. You simply need to add new setting and default value, and then you will be able to configure it in admin panel.
  • You can simply copy your markdown files to views/pages/ and (if it necessary) manage access to paths — and then your documentation is ready :) All new pages and directories will be indexed at next page loading.
  • Nice looking & adaptive design for all screen sizes.
  • Other small but useful features:
    • Each header has #link to it
    • Most code snippets will have copy button on header above
    • You can use all kramdown features
    • Main pages folder from configuration will be always on top in navigation on each page.
    • Pages will have default access rights from config and will be placed in Main pages folder if you wont specify path or roles.
    • Advanced error handling (page with information about error will be shown for each error, so no crashes must occur)

Sample

This readme page after rendering:

And mobile version (iPhone 8 Plus):

Requirements

Install

Any *NIX OS is supported. No guarantees for Windows.

  1. Make some directory for installing mongodb from docker:
cd ~
mkdir mongodocker
cd mongodocker
  1. Copy necessary files from mongo-docker repository:
export MONGODB_VERSION=4.0
curl -O --remote-name-all https://raw.githubusercontent.com/docker-library/mongo/master/$MONGODB_VERSION/{Dockerfile,docker-entrypoint.sh}
export DOCKER_USERNAME=username
chmod 755 ./docker-entrypoint.sh
  1. Create docker-compose.yml in your directory with following content:
version: '2'

services:
  mymongo:
    image: mymongo
    container_name: mymongo
    restart: always
    build:
      context: .
      dockerfile: ./Dockerfile
    ports: ["27017:27017"]
    volumes:
      - '/etc/mongod.conf:/etc/mongod.conf'
    command:
      - '--config'
      - '/etc/mongod.conf'
    networks:
      mongo_net:
        ipv4_address: 172.22.0.2

networks:
  mongo_net:
    driver: bridge
    ipam:
      config:
      - subnet: 172.22.0.2/24
        gateway: 172.22.0.254

Where 172.22.0.2 is public IP for accessing database. You can change it.

  1. Create /etc/mongod.conf with following content:
storage:
  dbPath: /data/db
  journal:
    enabled: true

net:
  port: 27017
  bindIp: 127.0.0.1,172.22.0.2 # here you can see this IP again
  1. Start mongo in background:
docker-compose up -d
  1. Clone this repo. I'm not gonna to upload project to npm, etc.
git clone https://github.com/petersamokhin/markdown-site
  1. See started networks and find mongodb network's name:
docker network ls

You must see something like this:

NETWORK ID          NAME                           DRIVER              SCOPE
a117428b09c9        bridge                         bridge              local
0b75179024f0        host                           host                local
b1c67fcbca63        mongo-docker_mongo_net         bridge              local
df7d198ae6c2        none                           null                local

Find network with name like mongo-docker_mongo_net. It can be literally mongo-docker_mongo_net.

  1. Change the name of a mongo network at the end of this project's docker-compose.yml. Now it's mongo-docker_mongo_net.

  2. Start project in the background:

docker-compose up -d

Additional info

You can use local MongoDB which is not in docker container, in this case, you must do it by yourself.

Profit!

3rd party

License

MIT
Copyright (c) 2018 PeterSamokhin
https://petersamokhin.com/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].