Skip to content

docs-plus/docs.plus

Repository files navigation

Generic badge MIT license Open Source? Yes! PRs Welcome All Contributors

πŸ“š Docs.plus (1.8.18)

Docs.plus is a real-time collaborative tools to help communites share knowledge

About

It is the result of over six years of research by newspeak.house into civil society and public sector coordination and crisis response. It solves many common organising problems, and can be frictionlessly adopted by all typical stakeholders without needing any training.

Docs.plus intuitively combines all the common communication tools:

  • βœ”οΈ Collaborative documents
  • βœ”οΈ Videocalls (with unlimited self-organising breakout rooms)
  • βœ”οΈ Group text chat
  • βœ”οΈ Search, filtering and tagging
  • 🚧 Profiling
  • ⏭️ Email subscription
  • ⏭️ Mobile and desktop app
  • ⏭️ Push notifications
  • Suggest the next feature...

Base

Docs.plus is built on Etherpad which is a real-time collaborative editor for the web, our team tweek a etherpad bases for the goal we persude, also we are using combanation of etherpad plugin and custom one to power up our goals.

*Let's go ahead and look at our Bible to see what changes we are making!

Plugins

πŸš€ Prerequisites & Installation

Prerequisites and installation are the same as Etherpad flow, follow this link. The following commands will download the source code for docs.plus, install all prerequisites, and run a local server from which Docs.plus can be accessed:

# clone the project
git clone https://github.com/nwspk/docs.plus.git

# move to the project folder
cd docs.plus

# install pre requirement plugins
npm install --no-save --legacy-peer-deps
        npm install --no-save --legacy-peer-deps
        ep_adminpads2
        https://github.com/samirsayyad/ep_rocketchat#f214f48
        https://github.com/ether/ep_comments_page
        https://github.com/ether/ep_cursortrace
        https://github.com/samirsayyad/ep_custom_header_message
        https://github.com/samirsayyad/ep_docs_plus_customize#c68bc28
        https://github.com/samirsayyad/ep_full_hyperlinks#1eb4ecd
        ep_hide_line_numbers
        https://github.com/samirsayyad/ep_insert_media#eecbc98
        https://github.com/samirsayyad/ep_loading_pad#9ae42cd
        ep_monetization
        https://github.com/samirsayyad/ep_profile_modal#10a1e17
        ep_remove_embed
        https://github.com/samirsayyad/ep_headings2#76e3f79
        https://github.com/samirsayyad/ep_set_title_on_pad#e507359
        https://github.com/samirsayyad/ep_table_of_contents#b123e05
        https://github.com/HMarzban/ep_headerview#a4e93eb

# run the docsplus
src/bin/run.sh

Docs.plus should now be accessible from your web browser. To access it type 0.0.0.0:9001 into the address bar.

Landing page

For mor info Take a look at CI

If you wanna have your Turn/Stun server for the video chat you can follow this installation for the Coturn server; Link.
By default, the video plugin uses a public Stun server More info

New features as Integration

Write about new featues more Which makes us more distinct from the Etherpad.

  1. Single-pad
  2. Rocket chat 🚧
  3. Heading filter 🚧
  4. Video group 🚧

Single-pad

You can use docs.plus as a single-pad document also.

  1. Add ep_singlePad setting to the settings
"ep_singlePad":{
    "active": false,
    "padId": "padName",
    "padName": "padName"
}
  1. Then change Nginx config like below: (replace padId)
......

location / {
        rewrite ^/timeslider(.*) /p/padId/timeslider break;
        rewrite ^/$ /p/padId break;
        rewrite ^/locales/(.*) /locales/$1 break;
        rewrite ^/locales.json /locales.json break;
        rewrite ^/admin(.*) /admin/$1 permanent;
        rewrite ^/admin/(.*) /admin/$1 break;
        rewrite ^/static/(.*) /static/$1 break;
        rewrite ^/pluginfw/(.*) /pluginfw/$1 break;
        rewrite ^/javascripts/(.*) /javascripts/$1 break;
        rewrite ^/socket.io/(.*) /socket.io/$1 break;
        rewrite ^/ep/(.*) /ep/$1 break;
        rewrite ^/minified/(.*) /minified/$1 break;
        rewrite ^/api/(.*) /api/$1 break;
        rewrite ^/ro/(.*) /ro/$1 break;
        rewrite ^/error/(.*) /error/$1 break;
        rewrite ^/jserror(.*) /jserror$1 break;
        rewrite ^/redirect(.*) /redirect$1 break;
        rewrite /favicon.ico /favicon.ico break;
        rewrite /robots.txt /robots.txt break;
        rewrite ^/p/(.*) /p/padId break;
        rewrite ^/(.*) /p/padId1/$1 break; # ======> single-pad <====== #
        proxy_buffering off;
        proxy_set_header Host $host;
        proxy_pass http://localhost:9101;
        proxy_set_header X-Real-IP $remote_addr;  # http://wiki.nginx.org/HttpProxyModule
        proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
        proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
        proxy_set_header Host $host;  # pass the host header
        proxy_http_version 1.1;  # recommended with keepalive connections
        proxy_pass_header Server;
        # WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html
        proxy_set_header  Upgrade $http_upgrade;
        proxy_set_header  Connection $connection_upgrade;
}

......

🀝 Contributing

Thank you for your interest in contributing! Please feel free to put up a PR for any issue or feature request.

The guidelines for contributing are available here.

✨ Contributors

Thanks goes to these wonderful people (emoji key):


πŸ“†πŸ’Ό edsaperia

πŸ’»πŸš‡ samirsayyad

πŸ’»πŸš‡πŸ§‘β€πŸ«Hossein

πŸš‡Josh Balfour

πŸ›πŸ“–Patryk

πŸ‘‹ Contact

If you have any further questions, please don’t hesitate, you can reach us by the following:

πŸ“ License

This project is licensed under the Apache License v2 License

Support

Docs.plus is free and open source, please help us stay online: