GithubHelp home page GithubHelp logo

azu / github-project-todo-md Goto Github PK

View Code? Open in Web Editor NEW
17.0 3.0 0.0 222 KB

A Tool that sync between GitHub Project Board <-> Todo Markdown text.

License: MIT License

JavaScript 0.20% TypeScript 99.80%
markdown github project todo board sync

github-project-todo-md's Introduction

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

github-project-todo-md's People

Contributors

azu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

github-project-todo-md's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.