f2aba67374
This allows configuring the group and mode of the unix socket after it has been created to allow reverse proxies to access it. Fixes #317. I decided to call `chown` and `chgrp` directly to change the owner and group (the former will almost definitely not be called; only root can chown a file to another user, and you are not running codimd as root. It is included for consistency). The nodejs chown/chgrp functions only accepts uid and gid, not the names of the user or group. The standard way to convert a group name into a gid is the `uid-number` package. The way this package works is that 1. It spawns a new nodejs process 2. The new nodejs process calls nodejs' setgid function, which *does* accept both the group name and gid 3. It then calls getuid to retrieve the uid of the process, and returns it to the parent process via stdout. While this *works*, it is hacky, and if we are spawning a process anyway, might as well call `chgrp` directly. This does not update the documentation because we are merging into release/2.0.x but master reworks the configuration section of the documentation, so there will be a conflict when we merge anyway. Signed-off-by: Dexter Chua <dalcde@yahoo.com.hk> |
||
---|---|---|
bin | ||
docs | ||
locales | ||
public | ||
src | ||
.babelrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.mailmap | ||
.sequelizerc.example | ||
.travis.yml | ||
app.json | ||
AUTHORS | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
config.json.example | ||
CONTRIBUTING.md | ||
LICENSE | ||
package.json | ||
README.md | ||
SECURITY.md | ||
tsconfig.json | ||
webpack.common.js | ||
webpack.dev.js | ||
webpack.htmlexport.js | ||
webpack.prod.js | ||
yarn.lock |
CodiMD
CodiMD lets you create real-time collaborative markdown notes. You can test-drive it by visiting our CodiMD demo server.
It is inspired by Hackpad, Etherpad and similar collaborative editors. This project originated with the team at HackMD and now forked into its own organisation. A longer writeup can be read in the history doc.
Community and Contributions
We welcome contributions! There's a lot to do: If you would like to report bugs, the issue tracker is the right place. If you can help translating, find us on POEditor. To get started developing, take a look at the docs/dev directory. In any case: come talk to us, we'll be delighted to help you with the first steps.
To stay up to date with our work or get support it's recommended to join our Matrix channel, stop by our community forums or subscribe to the release feed. We also engage in regular community calls (RSS) which you are very welcome to join.
Installation / Upgrading
You can run CodiMD in a number of ways, and we created setup instructions for all of these:
If you do not wish to run your own setup, you can find a commercial offering at https://hackmd.io. This is not the same codebase as this one, but it is a very similar project.
Configuration
Theres two main ways to configure your CodiMD instance: Config file or environment variables. You can choose what works best for you.
CodiMD can integrate with
- facebook, twitter, github, gitlab, dropbox, google, ldap, saml and oauth2 for login
- imgur, s3, minio, azure for image/attachment storage (files can also be local!)
- dropbox for export and import
More info about that can be found in the configuration docs above.
Browser support
To use CodiMD, your browser should match or exceed these versions:
- Chrome >= 47, Chrome for Android >= 47
- Safari >= 9, iOS Safari >= 8.4
- Firefox >= 44
- IE >= 9, Edge >= 12
- Opera >= 34, Opera Mini not supported
- Android Browser >= 4.4
Related Tools
Our community has created related tools, we'd like to highlight codimd-cli which lets you use CodiMD from the comfort of your command line.
License
Licensed under AGPLv3. For our list of contributors, see AUTHORS.