1.4.4 • Published 2 years ago

github-project-todo-md v1.4.4

Weekly downloads
15
License
MIT
Repository
github
Last release
2 years ago

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

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

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.

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

License

MIT © azu

1.4.4

2 years ago

1.4.3

3 years ago

1.4.2

3 years ago

1.4.1

3 years ago

1.3.2

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago