Giter Site home page Giter Site logo

ryanlelek / raneto Goto Github PK

View Code? Open in Web Editor NEW
2.7K 94.0 441.0 3.87 MB

Markdown powered Knowledgebase Wiki for Node.js

Home Page: https://raneto.com

License: MIT License

JavaScript 98.62% Makefile 1.16% Dockerfile 0.22%
node markdown knowledgebase editor self-hosted wiki writing

raneto's Introduction

Raneto Node.js CI

Raneto Logo

Raneto is a free, open, simple Markdown powered knowledge base for Node.js. Find out more →

Important Updates

  • Please ensure you're on Raneto v0.17.1 for the latest security fixes
  • Join the Roadmap Discussion

Demo and Documentation

Visit https://docs.raneto.com to see a demo.

Quickstart

Visit the Example Repo
See the installation guide for more information.

Docker / Containers

Official Raneto container images on Docker Hub

Run the default container, and access on localhost:3000
docker run --rm -it --publish 3000:3000 raneto/raneto:latest

Same as above, but provide your own content and configuration

docker run --rm -it --publish 3000:3000 \
  --volume \
  --volume \
  raneto/raneto:latest

Want to poke around the files in the container? Get a shell:
docker run --rm -it --publish 3000:3000 --volume raneto/raneto:latest /bin/sh

Security

Make sure you edit the default username and password in your config.js file.

##### WARNING #####
// You MUST change the username and password for security
// Do NOT use "admin" as a username as it's easily guessed.
// You are encouraged to use tools to generate a password
// Preferably, use a local password manager
// If you absolutely must use an online tool, here are some suggestions
// https://bitwarden.com/password-generator/
// https://www.grc.com/passwords.htm

Markdown Reference

If you want to embed links and images, you'll need to use the Markdown syntax.
See this Markdown Guide

Links

Showcase

Are you using Raneto in the wild? We'd love to see it. Please add it to this list:

Related Projects

Credits

raneto's People

Contributors

caseyjhol avatar cassiobock avatar cmeyer90 avatar dettoni avatar dgarcia202 avatar dncrews avatar draptik avatar eighteyes avatar ezaze avatar filunk avatar gilbitron avatar grahamdumpleton avatar gugu avatar hitman666 avatar madhuakula avatar mariuspana avatar matthiassb avatar mgdesign avatar mohammadrafigh avatar orhideous avatar paulodiovani avatar philipstratford avatar pmoleri avatar radiergummi avatar rayder441 avatar ryanlelek avatar sparticuz avatar synt3x avatar therealwardo avatar zachmayry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

raneto's Issues

Multi site support

Would you consider making an update to allow support for multiple sites? We have groups of applications which are in need of KB system but we want it centralized. Is that possible today?

Implement a file for listing the order

Rather than using a sort key it'd be much simpler if each directory contained a toc file, where you'd list the name of the file and it'd order based on that.

At the moment if I want to move a page, I've got to go through and re-order every file's sort key, which is painstakingly boring.

Access config variables from markdown files?

Is it possible to access the config variables from the markdown files themselves? I added a line to the renato.js file to replace a content variable but wanted to know if there is an easier way? Thanks.

Password protection

Is it possible to use some kind of password protection on Raneto? For example something like htaccess what you have on Apache?

Dynamic categories using hashtags

Recognize 'Tags:' in the comment header and list these tags as categories on the main knowledgebase page; allows md files to appear in multiple relevant categories without duplicating content.

Documentation Request: Updating to New Releases

Hello,

I think it is pretty important to write up some documentation about the author/org recommended method of updating from release to release. Right now, it looks like the user would have to grab a new release and move the content folder - is that accurate?

Just curious what your intended methodology for updating will be and if there could be a section laid out to describe it,

Thanks

Config local and prod domains

Hello,

I do not understand how to configure a domain normal places of localhost: 3000 that either locally or on my server. Heroku is still not mandatory?

How to do this please?

Thank you.

Add category "archives"

Show an "archive" when visiting a folder root. Possibly allow override with index.md as with homepage.

Make content folder public by default

Markdown are document, not source files.

I think the content/ could be stored under public/ (just as a default for #20). This way it makes more sense to store images under content/ as well (as I proposed on #9).

I'm still not familiar on how Express.js handle the public/ folder, but may be easy to serve files directly unless *.md (like an Apache mod_rewrite could do).

Feature: Embedded MarkDown editor

Hi guys,

Firstly, great repo!
Especially for people who are relatively new to web development or javascript and frameworks, or markdown for that matter, who can use this as something of a simple boilerplate to really get into improving and extending the existing features, i.e. very good hands-on learning experience!

But I was wondering if it's on the roadmap to integrate an embedded editor, of which there are a few here on Github as well?
It seems an obvious next step for a near future release.

Any plans?

Option to base page title on filename instead of comment block

I would love to have the option of getting the page title from the filename instead of having to specify a comment block.

We use several tools to work with Markdown, like Markdownpad and Pandoc, and the comment block is rendered by them as standard text. This is because basic Markdown doesn't support comment blocks.

Why sync ?

After looking at the code of raneto-core I can see that you are using sync io. Isn't that slow and opposite of the node practices.

Транслит в URL

Если название файлов и папок делать на русском, то в урл будет кириллица. Файлы ладно - можно и в латинице делать, так как в файле есть title, но как сделать папки на английском, но чтобы в URL было на латинице?

Themes

Swap out the views folder for a themes folder and add a "theme" options to config to allow setting the active theme.

If active theme folder doesn't exist then fallback to "default".

nodejs not node on Ubuntu Server

On an ubuntu server nodejs is accessed via the "nodejs" command, not the "node" command.

So the "npm start" command will break.

Having 'content' directory configurable

Making content directory configurable helps to just point to the existing source content without copying stuffs around. By default it should work the way it is now.

If you like this feature then I can send you a pull request for this...

Switch from bower to npm

As a developer I would like to remove the bower dependency so there will be fewer moving parts and things will be easier to keep track of.

Is there any way to set up cookie auth?

I tried to add a simple check on req.cookies that redirects if it fails to find a cookie. However, I'm experiencing strange errors about headers being sent when I try to call res.redirect() inside the main app.all().

Is there a preferred method of doing this?

License Confusion

I'm confused about the license of Raneto. You have an MIT license, but the website says "To use Raneto in commercial projects you must purchase a commercial license". How does this work in practice?

Demo running really slow

I don't know if it's just because you're experiencing high traffic right now or not, but your demo seems to be really sluggish at the moment with a 5.6s average waiting for a response from the server for each resource. Actual download times are ~1ms, but full page load takes over 13s. Is the demo server just under heavy load?

Add images support

Allow people to store images in public/images and add a %images_url% variable that can be used in Markdown files (like %base_url%).

Publish to npm

Firstly, just want to say how much I love this project, thanks for your great work :)

I see that raneto is published to npm. It actually runs very well like this. Great job exposing app and config!

However, it appears that it is not possible to configure the content directory, which makes it impractical to use it this way at the moment.

Is there any chance this could be fixed?

Thanks very much!

Add analytics config option

Add an option to config.js that would allow a {{config.analytics}} variable to be used in the template. Allow any HTML (including scripts). E.g. Google Analytics.

Feature request: Page series

I made a post on Jekyll Help already that pretty much explains it.

Would love to see a simple way to create a series of posts, linked together and set in a certain order that could be changed without editing each page individually.

hide sub-folder

Is it possible to hide a sub-folder (but still have links that go to it) from the main page? In the example below, I would want Categories 1, 2, and 3 to show up on the main page and be able to link to Sub-Category 2.a but hide Sub-Category 2.a from the TOC?

main content
    folder category 1
    folder category 2
        folder subcategory 2.a
    folder category 3

Allow ordering of pages and categories

This would involve several steps:

  • In config.js have an option to switch between alphabetical (default) and numerical sorting (for pages and categories?)
  • Pages could be sorted by adding a "Sort" meta value which takes an integer
  • Categories could be sorted by prefixing folder names with {sort}_. For example 0_folder, 1_folder, 2_folder etc.
  • Category prefixes would need to be ignored in slugs and titles

Incomplete document

Adding a way to mark a document as incomplete would be good. This would be useful if some documentation is available, but not all of it.

Prevent syntax highlighting

I am experiencing incorrect language detection by highlight.js.

Is there any config to prevent highlight.js in Raneto?

In highlight.js doc they suggest to use nohighlight class on code element. However Raneto generate lang-nohighlight on code element.

If Raneto could use Fenced code blocks of Markdown Extra or something similar I think I could achieve this with

    ```nohighlight
   code here
    ```

markdown-table

markdown-table-raneto

Feature Request for Missing but Necessary Features.

Some of the critical functions that I feel Raneto might need is as follows:

  • Login page and user management.
  • Upload and management of documents or some form of document editing from the website.
  • Document history and archiving.
  • HTTPS support activation from webpage.

Support subcategories

I'm interested in creating a knowledgeable with hundreds of pages where are subcategorized up to 6 levels deep.

I read in your docs that subcategories are always displayed as top level categories. Why is this? Is it possible to implement such subcategory feature?

Nginx proxy pass does not work

A nginx proxy pass such as the one below does not work.
All links go to my base domain instead of domain/site/file*.

location /site {
        proxy_pass    http://localhost:3000;
}

Image URLS

I have left the standard config unchanged for the image location...
image_url: '/images',

I am running a windows server and Raneto is working perfectly but I just can't get embedded images to display. MD files display perfectly.

I have created an images folder in the root as I guess this is where the images should be?
image folder

Within this folder I have placed an image called image.jpg

If I create an image in an MD file like this....
![Test](%image_url%/image.jpg)

The image is not displayed. If I check the source html on the rendered web page I can see the url is ...
<img alt="Test" src="/images/image.jpg">

I can't figure out if this is wrong with the root image folder location or an issue with Raneto locating o them?

screenshot_090115_023625_pm

Help much appreciated on this one.

Add path to search result

when searching, you now get the title of the page and part of the page content as result, however if you use folders to categorize it could be useful to get the path to the file visualized with the search result.

this could be configurable with a flag.

usecase: create a folder for backend and 1 for frontend code. both need documentation about how multilanguage or logging or any other generic idea is being handled.
but you end up with 2 files called logging.md or worse, you have to add the category in the title again which is tedious ...

Grunt - Gulp for automation

I will be very interested in adding one of those to raneto. I got experience mostly with Grunt. Let me know if this could be interesting for you

Start from different project without requiring install

I would love to be able to run raneto by creating my content on my own git repo, configure my own package.json, do a npm install --save raneto and then add my own entry point similar to what you have on bin\www:

However, I would need to pass to app.js a config file to use (which I want stored on my own repo), and also be able to specify a static files configuration for express that is evaluated before ranetos own public/ folder.

For example, if app.js was something like:

var express = require('express'),
    path = require('path'),
...
module.exports = function(options) {
    options = options || {}
   // Setup views
  ...
  // Setup Express
 app.use(favicon(options.favicon || (__dirname +'/public/favicon.ico')));
 ...
 if (options.static) {
     app.use(express.static(options.static));
 }

 app.use(express.static(path.join(__dirname, 'public')));
 ...
 // Setup config
 extend(raneto.config, config, options.config || {});

Then in my own entry point could just do:

...
var app = require('../app')({ config: require("./config"), static: "override" });
app.set('port', process.env.PORT || 3000);
...

To provide an override folder for raneto resources, and a custom config.

What do you guys think? Does it make sense? Should I submit a PR? Or is there other way to do this?

The main goal are:

  • Keep in my repo only what I authored, and no raneto code.
  • Let people get my repo and just do a standard npm install; npm start to start up the site.

Markdown Extra

Would it be possible to make use of Markdown Extra? It gives some benefits over standard Markdown such as being able to add classes to images etc.

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.