PineDocs is a fast, simple, lightweight tool for viewing files in a browser. Great for documentation, wiki, notes, etc.
Renders Markdown, HTML, code, images, GIFs, SVG, audio and small videos.
No database required.
PineDocs alternatives and similar software solutions
Based on the "Static Site Generators" category.
Alternatively, view PineDocs alternatives based on common mentions on social networks and blogs.
10.0 9.0 L5 PineDocs VS Jekyll:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby
9.3 6.9 L2 PineDocs VS PelicanStatic site generator that supports Markdown and reST syntax. Powered by Python.
6.2 7.1 L3 PineDocs VS JBakeJava based open source static site/blog generator for developers & designers.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PineDocs or a related project?
A fast and lightweight site for viewing files.
Great for documentation, wiki, examples, notes, documents, galleries, storage, etc.
See more screenshots at https://imgur.com/a/15Gq67X
💚 Please consider sponsoring or donating to keep this project active - https://github.com/sponsors/xy2z
- No database.
- No building.
- Fast - using ajax and cache.
- Supports Markdown, plaintext, HTML, code, images, SVG, GIFs, audio and small videos. Basically anything you can render in a browser.
- Responsive layouts and different color schemes (see screenshots here)
- Syntax highlighting for over 169 languages with over 77 themes.
- Configuration (see below).
- Quick filtering in files.
- Use your existing files or existing git repos as content.
- Files are cached client-side after first view, so it loads instantly.
- Hidden folders - only accessible via direct links.
- Remembers scroll position per page.
PineDocs is read-only, meaning you can only view files and not edit them via PineDocs. This is not a wiki replacement with user login, revisions etc. This is basically a simple site that renders everything in your content dir. So you need to edit the files on your server/PC in order to change the content.
Docker is the easiest way to setup PineDocs.
version: '3' services: web: image: xy2z/pinedocs:1.2.3 ports: - 3000:80 volumes: - ./data:/data/pinedocs
docker-compose up -d you can change the config in
./data/config/config.yaml, and add your files (or git clone your repository) in the
Changes will take affect when you reload the page - no need to restart the container.
Altough docker-compose is recommended, you can also use pure Docker:
docker run -itd -v "$PWD"/data:/data/pinedocs -p 3000:80 xy2z/pinedocs
See more at https://hub.docker.com/r/xy2z/pinedocs/
- PHP 8.0 (mininum required php version is PHP 7.2.5)
- Composer for dependencies.
- A web server (apache2, nginx, etc.)
- Download the latest release or run
composer installin the root to get dependencies.
- Setup the web server to the
php -S localhost:89 -t publicfor testing)
- (Optional) Rename the file
config/config.yamlfor changing settings (see below)
Feel free to edit the
config/config.yaml file to fit your needs.
title(string) The title of the site, used in logo, tabs and bookmarks.
content_dir(string) Path to the dir you want to use. Default is the PineDocs/content/ dir.
index(string) Relative path to the index file. Default is array of
layout(string) Available layouts:
color_scheme(string) Available color schemes:
highlight_theme(string) The theme to use for code. See a list at https://highlightjs.org/static/demo/
true, all will use the highlight theme. If
false, the background will be transparent.
open_dirs(int|string) The number of levels of dirs that should be opnened on page load. Use
allto open all dirs.
render_footer(bool) Render the menu footer?
exclude_files(array) List of files or dirs to exclude. Supports regex if the format is /regex/i.
show_file_extension(bool) Show file extensions. Default is true.
menu_link_format(string) Values: default, ucfirst, ucwords, uppercase, lowercase.
render_max_file_size(float) Max file size (in MB) to render. If file is larger, a download link will be shown. Default is
font_family(string) The font used for menu and content. Default is
font_size(string) The font size in menu and content. Default is
no_extension_markdown(bool) Render files with no extension as markdown, eg
break_code_blocks(bool) Break code blocks in multiple lines instead of horizontally scrolling. Default
hide_folders_in_navigation(array) A list of folders to hide from frontend navigation. Case-insensitive. Default is none.
GNU GPLv3. See LICENSE.txt
*Note that all licence references and agreements mentioned in the PineDocs README section above are relevant to that project's source code only.