@lmiller1990/snippets

0.1.4 • Public • Published

Snippets

Easily insert source code into documentation.

Quick Explanation

Snippets is a CLI tool to help keep your documentation and blog posts accurate by inserting code snippets from the actual repository.

The left side is what you write. The right side is what is generated automatically:

Installation

npm install -g @lmiller1990/snippets

Usage

Let's say we are writing some documentation about an imaginary Node.js framework. We want to reference our file, controllers/user.js, in our documentation. It looks like this:

class UsersController {
  constructor() {
  }

  index() {
  }
}

We are writing some documentation about how to add new controller actions. Let's teach the user to add a show action.

Using snippets, we can write:

Add a `show` method to `controllers/users.js`.

You code should now look like:

//# master:controllers/users.js:1-3,8,9,10

We commit out changes, and run snippets README.md. This generates:

Add a `show` method to `controllers/users.js`.

You code should now look like:

```js
class UsersController {
  constructor() {
  }

  // ...

  show() {
  }
}
```

Any irrelevant lines are replaced with a // ... comment. Now you can easily and accurately include code samples in your blog post or documentation.

Note, snippets uses git to checkout files, so the code you are referencing needs to be checked into your git repository.

Options

Formally, the full syntax is:

//# [branch]:[file]:[lines]?[commit hash]

A full example using all options would look like:

//# master:controllers/users.js:1,2,3-6?ed53d197dac5da4a4a38a65bd7231b32fedaa6b1.

TODO

  • [ ] correct comment based on snippet language
  • [ ] landing page
  • [ ] more examples/better documentation
  • [ ] contributing guide
  • [ ] simple blogging website with markdown UI, snippets backend

Readme

Keywords

none

Package Sidebar

Install

npm i @lmiller1990/snippets

Weekly Downloads

1

Version

0.1.4

License

none

Unpacked Size

340 kB

Total Files

32

Last publish

Collaborators

  • lmiller1990