github-project-todo-md
v1.4.4
Published
A Tool that sync between GitHub Project Board <-> Todo Markdown text.
Downloads
12
Maintainers
Readme
github-project-todo-md
A library that sync between GitHub Project Board <-> Markdown Todo text.
Example
This library convert https://github.com/azu/github-project-todo-md/projects/1 to following:
## To do
- [ ] [TODO ISSUE](https://github.com/azu/github-project-todo-md/issues/4)
## In progress
- [ ] [PROGRESS ISSUE](https://github.com/azu/github-project-todo-md/issues/3)
## Done
- [x] [DONE ISSUE](https://github.com/azu/github-project-todo-md/issues/5)
Install
Install with npm:
npm install github-project-todo-md
Usage
GitHub Project Board → Markdown
import { fetchProjectBoard, toMarkdown } from "github-project-todo-md";
const json = await fetchProjectBoard({
owner: "azu",
repo: "github-project-todo-md",
projectNumber: 1,
token: GITHUB_TOKEN
});
const markdown = toMarkdown(json);
assert.strictEqual(
markdown,
`## To do
- [ ] [TODO ISSUE](https://github.com/azu/github-project-todo-md/issues/4)
## In progress
- [ ] [PROGRESS ISSUE](https://github.com/azu/github-project-todo-md/issues/3)
## Done
- [x] [DONE ISSUE](https://github.com/azu/github-project-todo-md/issues/5)
`
);
Markdown → GitHub Project Board
Sync Markdown's task status to GitHub Project Board's issue and pull request.
import { syncToProject } from "github-project-todo-md";
const CODE = `## To do
- [ ] [TODO ISSUE](https://github.com/azu/github-project-todo-md/issues/4)
## In progress
- [ ] [PROGRESS ISSUE](https://github.com/azu/github-project-todo-md/issues/3)
## Done
- [ ] [DONE ISSUE](https://github.com/azu/github-project-todo-md/issues/5)
`;
await syncToProject(CODE, {
owner: "azu",
repo: "github-project-todo-md",
projectNumber: 1,
token: TOKEN
});
Options
includesNote: boolean
- Default:
false
- Default:
If you want to include notes card for syncing, set includesNote
to true
.
- [ ] title
- body
text
→
title
- body
text
Current Limitation append a node to first column
User's or Organization's project
User or Organization level project is supported.
You need to pass specific value to owner
option.
- User:
owner: "users"
- Organization:
owner: "orgs"
import { syncToProject } from "github-project-todo-md";
const CODE = `## To do
- [ ] [TODO ISSUE](https://github.com/azu/github-project-todo-md/issues/4)
## In progress
- [ ] [PROGRESS ISSUE](https://github.com/azu/github-project-todo-md/issues/3)
## Done
- [ ] [DONE ISSUE](https://github.com/azu/github-project-todo-md/issues/5)
`;
await syncToProject(CODE, {
owner: "users",
repo: "azu", // user name
projectNumber: 1,
token: TOKEN
});
UseCase
Inkdrop note <-> GitHub Project
- https://github.com/azu/inkdrop-github-project-todo-md
Changelog
See Releases page.
Running tests
Install devDependencies and Run npm test
:
npm test
Contributing
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Author
License
MIT © azu