Skip to content

Commit

Permalink
add contributing guide
Browse files Browse the repository at this point in the history
  • Loading branch information
dragonwocky committed Jul 13, 2020
1 parent 7f31c24 commit a8472b2
Show file tree
Hide file tree
Showing 11 changed files with 384 additions and 217 deletions.
88 changes: 88 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# contributing

the enhancer is a tool for the community, so who best to build it but the community?

these guidelines are designed for smooth communication, management and development on this project.
following them shows respect to the developer/s spending their free time on it, and makes it easiest for them to improve the tool.

**found a bug / something isn't working as expected?** create a
[bug report](https://github.com/dragonwocky/notion-enhancer/issues/new?assignees=&labels=bug&template=bug-report.md&title=).

> SECURITY ISSUE? (e.g. PERSONAL/NOTION DATA BEING INTERFERED WITH)
> EMAIL ME INSTEAD: [thedragonring.bod@gmail.com](mailto:thedragonring.bod@gmail.com)
**have a cool new feature idea / there's something you just wish you could do?** submit a
[feature request](https://github.com/dragonwocky/notion-enhancer/issues/new?assignees=&labels=enhancement&template=feature-request.md&title=).

> enhancements are applied only locally.
> features should be designed only to improve the user experience -
> affecting the way notion internals work is against their ToS.
**using a not-yet-supported operating system or notion installation?** ask for
[platform support](https://github.com/dragonwocky/notion-enhancer/issues/new?assignees=&labels=enhancement&template=platform-support.md&title=).

> mobile clients cannot currently be modded.
**know your way around notion/electron/js/css and have some code to contribute?** great! read below to for recommendations on how to create a helpful pull request and what happens with your code afterwards.

## testing

download:

```sh
git clone https://github.com/dragonwocky/notion-enhancer
cd notion-enhancer
git checkout js
```

using npm? globally link via `npm link`.

using yarn? globally link via `yarn link` (the output of `yarn global bin` must be in PATH).

the downloaded folder is now directly linked to the `notion-enhancer` command.

no written tests are included with the enhancer: i don't have the experience/skill with them yet to use them effectively. if you can add some for your code, though, go ahead!

## conventions

the enhancer can be categorised as a **core** with extended by included **modules**.

each module is separately versioned, following the [semver](https://semver.org/) scheme.
depending on the content and scale of a contribution, it may constitute an update on its own or may be merged into a larger update.

to keep a consistent code style it is preferred to name variables with `snake_case` and functions/methods with `camelCase`.

for information on how to create a theme or module, check the [docs](README.md).

## review

core devs (at the moment: me) will manually look through each pull request and communicate with contributors before merging to make sure it is a) safe, b) functional and c) bug-free.

**a)** system details (e.g. IP, clipboard) + notion user data are considered private unless directly shared by the user. none of this should be accessed or transmitted to an external server.

**b)** is there a better way to do this? can extra dependencies be removed or replaced by newer web technologies? how can this be made as user-friendly as possible?

**c)** where possible, code should be tested on a variety of platforms in a variety of situations so it can be confirmed that it won't break anything for the user and is robust enough to handle use by both power-users and non-tech-savvy users.

## translating

honestly, i'm not sure where to start with something like this.

if you want to translate parts of the enhancer and you know how to get the enhancer to use such translations, let me know!

## licensing

this project is distributed under the [MIT](https://choosealicense.com/licenses/mit/) license.
the project as a whole is copyrighted by core devs in the [LICENSE](LICENSE) file.

when modifying a file, add your copyright to it in the format `(c) year name <email> (website)`
(inserted into the comment at the top, just above the line that reads `under the MIT license`).

all code contributed to this repository remains attributed to the contributor,
but full rights are granted for it to be used under the terms of the MIT license.
on the occasion that the contributed code should be removed or overwritten,
the copyright statement may be removed from the file.

by opening a pull request in this repository, you agree to the above conditions.

dependencies remain separately licensed to their various authors.
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
MIT License

Copyright (c) 2020 TarasokUA
Copyright (c) 2020 dragonwocky

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# readme placeholder

ended up here? this is a wip version of the enhancer, and this file is yet to be written.
if you're interested in the project, switch back to the [master branch](https://github.com/dragonwocky/notion-enhancer).
for support, contact me on discord `dragonwocky#8449` or open an issue here in the repo.

<!--
what?
why?
how?
support?
extension?
>
5 changes: 2 additions & 3 deletions index.js → bin.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
/*
* notion-enhancer
* (c) 2020 dragonwocky <thedragonring.bod@gmail.com>
* (c) 2020 TarasokUA
* (https://dragonwocky.me/notion-enhancer) under the MIT license
*/

Expand All @@ -23,12 +22,12 @@ cli.option('-y, --yes', ': skip prompts (may overwrite data)');
cli
.command('apply', ': add enhancements to the notion app')
.action((options) => {
require('./apply.js')(options.yes);
require('./pkg/apply.js')(options.yes);
});
cli
.command('remove', ': return notion to its pre-enhanced/pre-modded state')
.action((options) => {
require('./remove.js')(options.yes);
require('./pkg/remove.js')(options.yes);
});

cli.globalCommand.option('-h, --help', ': display usage information');
Expand Down
169 changes: 0 additions & 169 deletions package-lock.json

This file was deleted.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "an enhancer/customiser for the all-in-one productivity workspace notion.so",
"main": "index.js",
"bin": {
"notion-enhancer": "index.js"
"notion-enhancer": "bin.js"
},
"scripts": {
"test": "echo \"no test specified\""
Expand Down
31 changes: 31 additions & 0 deletions pkg/apply.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* notion-enhancer
* (c) 2020 dragonwocky <thedragonring.bod@gmail.com>
* (https://dragonwocky.me/notion-enhancer) under the MIT license
*/

'use strict';
const os = require('os'),
fs = require('fs-extra'),
path = require('path'),
exec = require('util').promisify(require('child_process').exec),
helpers = require('./helpers.js'),
store = require('./store.js');

let __notion = helpers.getNotion();

module.exports = async function () {
const data = store('test', { ok: true });
console.log(data.ok);
data.thing = 7;
console.log(data);
};

// getNotion()
// .then(async (__notion) => {
// console.log(__notion);
// await exec(
// `"${__dirname}/node_modules/asar/bin/asar.js" extract "${__notion}/app.asar" "${__notion}/app"`
// );
// })
// .catch((err) => console.log(err.message));
Loading

0 comments on commit a8472b2

Please sign in to comment.