{"id":13554998,"url":"https://github.com/andreasbm/readme","last_synced_at":"2025-05-16T18:06:44.905Z","repository":{"id":45092358,"uuid":"170904669","full_name":"andreasbm/readme","owner":"andreasbm","description":"Automatically generate a beautiful best-practice README file based on the contents of your repository","archived":false,"fork":false,"pushed_at":"2022-01-09T10:37:22.000Z","size":17605,"stargazers_count":471,"open_issues_count":17,"forks_count":119,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-16T18:06:42.857Z","etag":null,"topics":["blueprint","generator","maintainable","node","nodejs","opensource","readme","readme-bolierplate","readme-template","template"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreasbm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-15T17:41:30.000Z","updated_at":"2025-05-05T23:43:44.000Z","dependencies_parsed_at":"2022-09-04T17:10:20.779Z","dependency_job_id":null,"html_url":"https://github.com/andreasbm/readme","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasbm%2Freadme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasbm%2Freadme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasbm%2Freadme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasbm%2Freadme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreasbm","download_url":"https://codeload.github.com/andreasbm/readme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582905,"owners_count":22095518,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blueprint","generator","maintainable","node","nodejs","opensource","readme","readme-bolierplate","readme-template","template"],"created_at":"2024-08-01T12:02:59.463Z","updated_at":"2025-05-16T18:06:44.881Z","avatar_url":"https://github.com/andreasbm.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","opensource"],"sub_categories":[],"readme":"\u003c!-- ⚠️ This README has been generated from the file(s) \"blueprint.md\" ⚠️--\u003e\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/andreasbm/readme/master/assets/logo-shadow.png\" alt=\"Logo\" width=\"150\" height=\"150\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003e@appnest/readme\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n\t\t\u003ca href=\"https://npmcharts.com/compare/@appnest/readme?minimal=true\"\u003e\u003cimg alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/@appnest/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://www.npmjs.com/package/@appnest/readme\"\u003e\u003cimg alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/@appnest/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://david-dm.org/andreasbm/readme\"\u003e\u003cimg alt=\"Dependencies\" src=\"https://img.shields.io/david/andreasbm/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/andreasbm/readme/graphs/contributors\"\u003e\u003cimg alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/andreasbm/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/badges/shields\"\u003e\u003cimg alt=\"Custom badge\" src=\"https://img.shields.io/badge/custom-badge-f39f37.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/andreasbm/readme/graphs/commit-activity\"\u003e\u003cimg alt=\"Maintained\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" height=\"20\"/\u003e\u003c/a\u003e\n\t\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eAutomatically generate a beautiful best-practice README file based on the contents of your repository\u003c/b\u003e\u003c/br\u003e\n  \u003csub\u003eUse this readme generator to easily generate beautiful readme's like this one! Simply extend your \u003ccode\u003epackage.json\u003c/code\u003e and create a readme blueprint. On Github, the README file is like the landing page of your website because it is the first thing visitors see. You want to make a good first impression.\u003csub\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/andreasbm/readme/master/assets/demo.gif\" alt=\"Demo\" width=\"800\" /\u003e\n\u003c/p\u003e\n\n* **Simple**: Extremely simple to use - so simple that it almost feels like magic!\r\n* **Powerful**: Customize almost everything - add your own templates and variables if you like\r\n* **Awesome**: The tool you don't know you need before you have many different repositories that all need maintenance\n\n\u003cdetails\u003e\n\u003csummary\u003e📖 Table of Contents\u003c/summary\u003e\n\u003cbr /\u003e\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#table-of-contents)\r\n\r\n## ➤ Table of Contents\n\n* [➤ Installation](#-installation)\r\n* [➤ Getting Started (quick)](#-getting-started-quick)\r\n* [➤ Getting Started (slower)](#-getting-started-slower)\r\n\t* [Blueprint](#blueprint)\r\n\t* [Usage](#usage)\r\n\t* [Configuration](#configuration)\r\n* [➤ Templates](#-templates)\r\n\t* [Title](#title)\r\n\t* [Logo](#logo)\r\n\t* [Badges](#badges)\r\n\t* [Description](#description)\r\n\t* [Table of Contents](#table-of-contents)\r\n\t* [Contributors](#contributors)\r\n* [➤ Contributors](#-contributors)\r\n\t* [License](#license)\r\n* [➤ License](#-license)\r\n* [➤ Load markdown files](#-load-markdown-files)\r\n* [➤ Automatic documentation](#-automatic-documentation)\r\n* [➤ my-button](#-my-button)\r\n\t* [Properties](#properties)\r\n\t* [Slots](#slots)\r\n* [➤ A bit about this readme](#-a-bit-about-this-readme)\r\n* [➤ Custom templates](#-custom-templates)\r\n* [➤ Advanced!](#-advanced)\r\n\t* [Check broken links](#check-broken-links)\r\n\t* [New template syntax](#new-template-syntax)\r\n\t* [Variables](#variables)\r\n\t\t* [Objects](#objects)\r\n\t\t* [1D Arrays](#1d-arrays)\r\n\t\t* [2D Arrays](#2d-arrays)\r\n\t* [Different colored lines](#different-colored-lines)\r\n\t* [Different formatted headings](#different-formatted-headings)\r\n* [➤ Featured README's](#-featured-readmes)\r\n* [➤ Future work](#-future-work)\r\n* [➤ FAQ](#-faq)\r\n\t* [Can I see how my README file is going to look before I commit it?](#can-i-see-how-my-readme-file-is-going-to-look-before-i-commit-it)\r\n\t* [How can I get involved?](#how-can-i-get-involved)\r\n\t* [I already have a large README file - I don't have time to rewrite everything!](#i-already-have-a-large-readme-file---i-dont-have-time-to-rewrite-everything)\r\n\t* [How can I support you?](#how-can-i-support-you)\r\n* [➤ Contributors](#-contributors-1)\r\n* [➤ License](#-license-1)\n\u003c/details\u003e\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#installation)\r\n\r\n## ➤ Installation\n\n```javascript\nnpm install @appnest/readme -D\n```\n\nIf you don't want to install anything you can use the `npx @appnest/readme generate` command instead.\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#getting-started-quick)\r\n\r\n## ➤ Getting Started (quick)\n\nThis getting started guide is super quick! Follow these two steps and you will have turned your boring readme into a pretty one.\n\n1. Rename your current `README.md` file to `blueprint.md`.\n2. Run `npx @appnest/readme generate`\n\nThat's it! Check out your freshly generated `README.md` file and enjoy the fruits of what you just did.\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#getting-started-slower)\r\n\r\n## ➤ Getting Started (slower)\n\nThis getting started guide is a little bit longer, but will give you some superpowers. Spend a minute reading this getting started guide and you'll have the best README file in your town very soon.\n\n### Blueprint\n\nFirst you need to create a `blueprint.md` file. This blueprint is going to be the blueprint for the `README.md` file we will generate later.\n\nLet's start simple. In order to get values from your `package.json` file injected into the README file we use the mustache syntax (`{{ .. }}`). Let's say your `package.json` file looks like this:\n\n```json\n{\n  \"name\": \"@appnest/readme\",\n  \"version\": \"1.2.5\"\n}\n```\n\nTo get the `name` and `version` into your README file you will need to write `{{ pkg.name }}` and `{{ pkg.version }}` in your `blueprint.md` file like this:\n\n```markdown\nWelcome to {{ pkg.name }}. This is version {{ pkg.version }}!\n```\n\nWhen running `node_modules/.bin/readme generate` the file `README.md` will be generated with the following contents:\n\n```markdown\nWelcome to @appnest/readme. This is version 1.2.5.\n```\n\n### Usage\n\nRun the `node_modules/.bin/readme generate` command and a README file will be generated for you. If you want to go into depth with the readme command, check out the following options or write `node_modules/.bin/readme generate -h` in your terminal if that's your cup of tea.\n\n\n| Option                | Type                                             | Description                                      |\n|-----------------------|--------------------------------------------------|--------------------------------------------------|\n| -c, --config          | string                                           | Path of the configuration file. Defaults to 'blueprint.json |\r\n| -p, --package         | string                                           | Path of the 'package.json' file. Defaults to 'package.json'. |\r\n| --pkg.name            | string                                           | Name of the project. Used for the 'title' template. |\r\n| --pkg.contributors    | {name: string; email: string; url: string; img: string; info: string[];}[] | Contributors of the project. Used for the 'contributors' template. |\r\n| --pkg.license         | string                                           | License kind. Used for the 'license' template.   |\r\n| -o, --output          | string                                           | Path of the generated README file. Defaults to 'README.md'. |\r\n| -h, --help            |                                                  | Display this help message.                       |\r\n| -i, --input           | string                                           | The blueprint. Defaults to 'blueprint.md'.       |\r\n| --badges              | {alt: string, url: string, img: string}[]        | Badges. Used for the 'badges' template.          |\r\n| --text                | string                                           | Text describing your project. Used for the 'description' template. |\r\n| --demo                | string                                           | Demo url for your project. Used for the 'description' template. |\r\n| --lineBreak           | string                                           | The linebreak used in the generation of the README file. Defaults to 'rn' |\r\n| --tab                 | string                                           | The tab used in the generation of the README file. Defaults to 't' |\r\n| --placeholder         | [string, string]                                 | The placeholder syntax used when looking for templates in the blueprint. Defaults to '[\"{{\", \"}}\"]. |\r\n| --line                | string                                           | The line style of the titles. Can also be an URL. Defaults to 'colored'. |\r\n| --templates           | {name: string, template: string}[]               | User created templates.                          |\r\n| -s, --silent          | boolean                                          | Whether the console output from the command should be silent. |\r\n| -d, --dry             | boolean                                          | Whether the command should run as dry. If dry, the output file is notgenerated but outputted to the console instead. |\r\n| --headingPrefix       | {[key: number]: string}                          | The prefix of the header tags. Defaults to '{1: \"➤ \", 2: \"➤ \"}' |\r\n| --logo                | {src: string; alt?: string; width?: number; height?: number;} | The logo information. Used for the 'logo' template. |\r\n| --contributorsPerRow  | number                                           | The amount of contributors pr row when using the 'contributors' template. Defaults to '6' |\r\n| --documentationConfig | object                                           | Configuration object for automatic documentation template. |\r\n| --extend              | string                                           | Path to another configuration object that should be extended. |\r\n| --checkLinks          | boolean                                          | Checks all links for aliveness after the README file has been generated. |\n\n\n### Configuration\n\nTo configure this library you'll need to create a `blueprint.json` file. This file is the configuration for the templates we are going to take a look at in the next section. If you want to interpolate values from the configuration file into your README file you can simply reference them without a scope. Eg. if you have the field \"link\" in your `blueprint.json` you can write `{{ link }}` to reference it.\n\nGreat. Now that we have the basics covered, let's continue and see how you can use templates!\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#templates)\r\n\r\n## ➤ Templates\n\nIf you have come this far you are probably interested to figure out how to use README templates. This library comes with a set of pre-defined templates to make your readme awesome, but you can of course create your own. More about that later, let's not get ahead of our self just yet.\n\n### Title\n\nLet's start with the title template. To generate the title you write `{{ template:title }}` in your blueprint. When you run the `readme` command the template will generate the following:\n\n\u003ch1 align=\"center\"\u003e@appnest/readme\u003c/h1\u003e\n\nThe important thing to note here is that the template automatically reads your `package.json` file and inserts the `name` from the package.\n\n```json\n{\n  \"name\": \"@appnest/readme\"\n}\n```\n\nThat's cool. Let's go through some of the other built-in templates you might want to add.\n\n### Logo\n\nThe logo template adds a logo to your readme and looks like this:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/andreasbm/readme/master/assets/logo-shadow.png\" alt=\"Logo\" width=\"150\" height=\"150\" /\u003e\n\u003c/p\u003e\n\nUse the placeholder `{{ template:logo }}` to stamp it. You will need to add the `logo` field to your `blueprint.json`. The logo field requires an `src` field. Optionally you can provide values for `width`, `height` and `alt`. Below is an example on how to add the data for the logo template.\n\n```json\n{\n  \"logo\": {\n    \"src\": \"https://raw.githubusercontent.com/andreasbm/readme/master/assets/logo-shadow.png\",\n    \"width\": \"150\"\n  }\n}\n```\n\n### Badges\n\nThe badges template adds badges to your readme and looks like this:\n\n\u003cp align=\"center\"\u003e\n\t\t\u003ca href=\"https://npmcharts.com/compare/@appnest/readme?minimal=true\"\u003e\u003cimg alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/@appnest/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://www.npmjs.com/package/@appnest/readme\"\u003e\u003cimg alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/@appnest/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://david-dm.org/andreasbm/readme\"\u003e\u003cimg alt=\"Dependencies\" src=\"https://img.shields.io/david/andreasbm/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/andreasbm/readme/graphs/contributors\"\u003e\u003cimg alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/andreasbm/readme.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/badges/shields\"\u003e\u003cimg alt=\"Custom badge\" src=\"https://img.shields.io/badge/custom-badge-f39f37.svg\" height=\"20\"/\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/andreasbm/readme/graphs/commit-activity\"\u003e\u003cimg alt=\"Maintained\" src=\"https://img.shields.io/badge/Maintained%3F-yes-green.svg\" height=\"20\"/\u003e\u003c/a\u003e\n\t\u003c/p\u003e\n\n\nUse the `{{ template:badges }}` placeholder to stamp it. You will need to add the data about how the badges should be generated. For that you can extend the `ids` property in your `blueprint.json` and add the `npm` and `github` ids (both are optional). If you want to add your own badges you can use the `badges` field.\n\n```json\n{\n  \"ids\": {\n    \"github\": \"andreasbm/readme\",\n    \"npm\": \"@appnest/readme\"\n  },\n  \"badges\": [\n    {\n      \"alt\": \"Custom badge\",\n      \"url\": \"https://github.com/badges/shields\",\n      \"img\": \"https://img.shields.io/badge/custom-badge-f39f37.svg\"\n    }\n  ]\n}\n```\n\nIf you need some inspiration for badges, check [this website](https://shields.io/) out.\n\n### Description\n\nThe description template adds a description to your readme and looks like this:\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eAutomatically generate a beautiful best-practice README file based on the contents of your repository\u003c/b\u003e\u003c/br\u003e\n  \u003csub\u003eUse this readme generator to easily generate beautiful readme's like this one! Simply extend your \u003ccode\u003epackage.json\u003c/code\u003e and create a readme blueprint. On Github, the README file is like the landing page of your website because it is the first thing visitors see. You want to make a good first impression.\u003csub\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\nUse the `{{ template:description }}` placeholder to stamp it. To use this template you are required to add the field `description` to your `package.json` file. Optionally you can also add the fields `text` and `demo` in your `blueprint.json` file which will be presented below the description.\n\n// package.json\n\n```json\n{\n  \"description\": \"Automatically generate a beautiful best-practice README file based on the contents of your repository\"\n}\n```\n\n// blueprint.json\n\n```json\n{\n  \"text\": \"Use this readme generator to easily generate beautiful readme's like this one! Simply extend your \u003ccode\u003epackage.json\u003c/code\u003e and create a readme blueprint. On Github, the README file is like the landing page of your website because it is the first thing visitors see. You want to make a good first impression.\"\n}\n```\n\n### Table of Contents\n\nThe table of contents template adds a table of contents and looks like this:\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#table-of-contents)\r\n\r\n## ➤ Table of Contents\n\n* [➤ Table of Contents](#-table-of-contents)\r\n* [➤ Installation](#-installation)\r\n* [➤ Getting Started (quick)](#-getting-started-quick)\r\n* [➤ Getting Started (slower)](#-getting-started-slower)\r\n\t* [Blueprint](#blueprint)\r\n\t* [Usage](#usage)\r\n\t* [Configuration](#configuration)\r\n* [➤ Templates](#-templates)\r\n\t* [Title](#title)\r\n\t* [Logo](#logo)\r\n\t* [Badges](#badges)\r\n\t* [Description](#description)\r\n\t* [Table of Contents](#table-of-contents)\r\n\t* [Contributors](#contributors)\r\n* [➤ Contributors](#-contributors)\r\n\t* [License](#license)\r\n* [➤ License](#-license)\r\n* [➤ Load markdown files](#-load-markdown-files)\r\n* [➤ Automatic documentation](#-automatic-documentation)\r\n* [➤ my-button](#-my-button)\r\n\t* [Properties](#properties)\r\n\t* [Slots](#slots)\r\n* [➤ A bit about this readme](#-a-bit-about-this-readme)\r\n* [➤ Custom templates](#-custom-templates)\r\n* [➤ Advanced!](#-advanced)\r\n\t* [Check broken links](#check-broken-links)\r\n\t* [New template syntax](#new-template-syntax)\r\n\t* [Variables](#variables)\r\n\t\t* [Objects](#objects)\r\n\t\t* [1D Arrays](#1d-arrays)\r\n\t\t* [2D Arrays](#2d-arrays)\r\n\t* [Different colored lines](#different-colored-lines)\r\n\t* [Different formatted headings](#different-formatted-headings)\r\n* [➤ Featured README's](#-featured-readmes)\r\n* [➤ Future work](#-future-work)\r\n* [➤ FAQ](#-faq)\r\n\t* [Can I see how my README file is going to look before I commit it?](#can-i-see-how-my-readme-file-is-going-to-look-before-i-commit-it)\r\n\t* [How can I get involved?](#how-can-i-get-involved)\r\n\t* [I already have a large README file - I don't have time to rewrite everything!](#i-already-have-a-large-readme-file---i-dont-have-time-to-rewrite-everything)\r\n\t* [How can I support you?](#how-can-i-support-you)\r\n* [➤ Contributors](#-contributors-1)\r\n* [➤ License](#-license-1)\n\nUse the `{{ template:toc }}` placeholder to stamp it. It has been scientifically proven that this template will save you approximately 392.3 hours during your life-time. Seriously.\n\n### Contributors\n\nThe contributors template adds the list of contributors and looks like this:\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\n\t\n\n| [\u003cimg alt=\"Andreas Mehlsen\" src=\"https://avatars1.githubusercontent.com/u/6267397?s=460\u0026v=4\" width=\"100\"\u003e](https://twitter.com/andreasmehlsen) | [\u003cimg alt=\"You?\" src=\"https://joeschmoe.io/api/v1/random\" width=\"100\"\u003e](https://github.com/andreasbm/readme/blob/master/CONTRIBUTING.md) |\n|:--------------------------------------------------:|:--------------------------------------------------:|\n| [Andreas Mehlsen](https://twitter.com/andreasmehlsen) | [You?](https://github.com/andreasbm/readme/blob/master/CONTRIBUTING.md) |\r\n| 🔥                                               |                                                  |\n\n\nUse the `{{ template:contributors }}` placeholder to stamp it. Let's sa To use this template your are required to add the `contributors` array to your `package.json` file like this. Only the `name` field is required.\n\n```json\n{\n  \"contributors\": [\n    {\n      \"name\": \"Andreas Mehlsen\",\n      \"email\": \"hello@example.com\",\n      \"url\": \"https://twitter.com/andreasmehlsen\",\n      \"img\": \"https://avatars1.githubusercontent.com/u/6267397?s=460\u0026v=4\",\n      \"info\": [\n        \"🔥\"\n      ]\n    },\n    {\n      \"name\": \"You?\",\n      \"img\": \"https://joeschmoe.io/api/v1/random\",\n      \"url\": \"https://github.com/andreasbm/readme/blob/master/CONTRIBUTING.md\"\n    }\n  ]\n}\n```\n\nTake note of the `info` array. That one is really exciting! Here you can add lines describing the contributors - for example the role of accomplishments. Take a look [here](https://allcontributors.org/docs/en/emoji-key) for more inspiration of what you could put into the info array.\n\n### License\n\nThe license template adds a license section and looks like this:\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\n\t\nLicensed under [MIT](https://opensource.org/licenses/MIT).\n\nUse the `{{ template:license }}` placeholder to stamp it. To use this template you are required to add the `license` field to your `package.json` file like this.\n\n```json\n{\n  \"license\": \"license\"\n}\n```\n\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#load-markdown-files)\r\n\r\n## ➤ Load markdown files\n\nWhat? You heard right. You can split the contents of your readme into multiple different files to make your life easier. Let's say you have a file called `my-section.md`. To stamp it you'll need to add `{{ load:my-section.md }}`.\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#automatic-documentation)\r\n\r\n## ➤ Automatic documentation\n\nWelcome to the future. Here we have **automatic documentation of web components!**. Let's say you have the following web component inside a file called `my-button.js`.\n\n```javascript\n/**\n * Button used for clicking!\n * @slot - Default content\n */\nexport class MyButton extends HTMLElement {\n\n  /**\n   * Attributes being observed.\n   * @returns {string[]}\n   */\n  static get observedAttributes() {\n    return [\"disabled\", \"role\"];\n  }\n  \n  /**\n   * Disables the element.\n   * @attr\n   * @type {boolean}\n   */\n  disabled = false;\n\n  /**\n   * Role of the element.\n   * @attr\n   * @type {string}\n   */\n  role = \"button\";\n}\n\ncustomElements.define(\"my-button\", MyButton);\n```\n\nThen you can get automatic documentation for the web component by simply writing `{{ doc:my-button.js }}` which will result in the following content.\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#my-button)\r\n\r\n## ➤ my-button\n\nButton used for clicking!\n\n### Properties\n\n| Property   | Attribute  | Type      | Default  | Description           |\n|------------|------------|-----------|----------|-----------------------|\n| `disabled` | `disabled` | `boolean` | false    | Disables the element. |\n| `role`     | `role`     | `string`  | \"button\" | Role of the element.  |\n\n### Slots\n\n| Name | Description     |\n|------|-----------------|\n|      | Default content |\n\n\nIf you want to learn more about how the documentation is generated, check out [`web-component-analyzer`](https://github.com/runem/web-component-analyzer).\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#a-bit-about-this-readme)\r\n\r\n## ➤ A bit about this readme\n\nBy now you are probably curious to know how this README file was generated? It was created from the following `blueprint.md` file.\n\n```markdown\n{{ template:logo }}\n{{ template:title }}\n{{ template:badges }}\n{{ template:description }}\n{{ bullets }}\n{{ template:toc }}\n{{ load:readme/1-installation.md }}\n{{ load:readme/2-getting-started.md }}\n{{ load:readme/3-templates.md }}\n{{ load:readme/4-load-markdown.md }}\n{{ load:readme/5-automatic-documentation.md }}\n{{ load:readme/6-this-readme.md }}\n{{ load:readme/7-custom-templates.md }}\n{{ load:readme/8-advanced.md }}\n{{ load:readme/9-featured-readmes.md }}\n{{ load:readme/10-future-work.md }}\n{{ load:readme/11-faq.md }}\n{{ template:contributors }}\n{{ template:license }}\n```\n\nIt really couldn't be more simple that this.\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#custom-templates)\r\n\r\n## ➤ Custom templates\n\nYou are able to create your own templates to keep things as DRY as a hot summer day. To create your own templates you'll first need to add the `templates` array to your `blueprint.json` file like this.\n\n```json\n{\n  \"templates\": [\n    {\n      \"name\": \"install\",\n      \"template\": \"Run `npm install {{ ids.npm }} to install this library!\"\n    }\n  ]\n}\n```\n\nThen you can stamp your custom template using the `{{ template:install }}` syntax (\"install\" here referencing the name of the custom template). The below is an example of what is stamped to the README file using the above template.\n\nRun `npm install @appnest/readme' to install this library!\n\nBe creative! You can for example add a template for code-snippets or [words you keep spelling wrong](https://en.oxforddictionaries.com/spelling/common-misspellings).\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#advanced)\r\n\r\n## ➤ Advanced!\n\nOh! So are you ready to open Pandora's box? Let's do it.\n\n### Check broken links\n\nAdd the `checkLinks` field to your `blueprint.json` and you'll be notified about all broken links in your README file. This check use [check-links](https://www.npmjs.com/package/check-links) to check links for aliveness.\n\n```json\n{\n  \"checkLinks\": true\n}\n```\n\n### New template syntax\n\nIf you are in the mood you can change the syntax used for matching with the templates. Let's say you want your placeholders to look like this instead `{[ template:title }]`. Then you'll need to add the `placeholder` array to your `blueprint.json` file with the new syntax being `[\"{[\", \"}]\"]` like this.\n\n\n```json\n{\n  \"placeholder\": [\"{[\", \"}]\"]\n}\n```\n\n### Variables\n\nIf you have a variable from your `blueprint.json` file you want to stamp to your README file just use the `{{ ... }}` syntax as usual without any scopes.\n\n#### Objects\n\nObjects are formatted as a list with the keys being bold. If you for example want to stamp the `dependencies` field from your `package.json` file you write `{{ pkg.dependencies }}` and the dependencies will be stamped in a nice formatted way like this.\n\n* **@types/glob**: ^7.1.1\r\n* **check-links**: ^1.1.8\r\n* **colors**: ^1.4.0\r\n* **commander**: ^5.0.0\r\n* **fs-extra**: ^9.0.0\r\n* **glob**: ^7.1.6\r\n* **path**: ^0.12.7\r\n* **web-component-analyzer**: 1.0.3\n\n#### 1D Arrays\n\nIf you have a 1D array it will be formatted as a list. If you for example want to stamp the the `keywords` field from your `package.json` file you write `{{ pkg.keywords }}` and the keywords will be stamped in a nice formatted way like this:\n\n* opensource\r\n* project\r\n* readme\r\n* template\r\n* boilerplate\r\n* nodejs\r\n* maintaining\r\n* generator\n\n#### 2D Arrays\n\nIf you have a 2D array it will be formatted as a table. This is very convenient for things like documentation of API's. Let's say you have the following in your `blueprint.json`.\n\n```json\n{\n  \"properties\": [\n    [\"Attribute\", \"Type\", \"Description\"],\n    [\"**size**\", \"'medium', 'large'\", \"Determines the size\" ],\n    [\"**active**\", \"boolean\", \"Whether the element is active or not\" ]\n  ]\n}\n```\n\nThen you can stamp it to your readme by writing `{{ properties }}` and it will be formatted as a table.\n\n\n| Attribute  | Type              | Description                          |\n|------------|-------------------|--------------------------------------|\n| **size**   | 'medium', 'large' | Determines the size                  |\r\n| **active** | boolean           | Whether the element is active or not |\n\n\nYou are welcome!\n\n### Different colored lines\n\nIf you want to change the color of the lines above headers you can change the `line` field in the `blueprint.json`. Here's an example if you want a dark line instead of the colored one.\n\n```json\n{\n  \"line\": \"dark\"\n}\n```\n\nThe following is the dark variant of the line.\n\n![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/dark.png)\n\nYeah! Dark mode on your `README.md` is awesome indeed. You have other options besides dark mode. Here's all the line styles you can choose from.\n\n* \"aqua\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/aqua.png)\n* \"cloudy\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/cloudy.png)\n* \"colored\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)\n* \"cut\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/cut.png)\n* \"dark\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/dark.png)\n* \"fire\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/fire.png)\n* \"grass\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png)\n* \"rainbow\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/rainbow.png)\n* \"solar\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/solar.png)\n* \"vintage\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/vintage.png)\n* \"water\" ![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/water.png)\n\nIf you want your own line design you can give the `line` field an url to an image instead. It is recommended that this image is 900px in width. If you prefer no line at all you can give the `line` field the string \"none\".\n\n### Different formatted headings\n\nIf you want to change the prefix in front of the heading you can change the `headingPrefix` in the `blueprint.json` file. Just map the heading level to the desired prefix as shown below.\n\n```json\n{\n  \"headingPrefix\": {\n    \"1\": \"➜ \",\n    \"2\": \"⭑ \"\n  }\n}\n```\n\nIf you want some inspiration for symbols you can put infront of the headings you can check out [this](https://unicodes.smpc.io/) website.\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#featured-readmes)\r\n\r\n## ➤ Featured README's\n\nIf you use this generator for one of your projects I would love to hear about it so I can feature it. Here's a list of some repositories using this generator for their README file.\n\n* [lit-translate](https://github.com/andreasbm/lit-translate)\r\n* [masonry-layout](https://github.com/andreasbm/masonry-layout)\r\n* [focus-trap](https://github.com/andreasbm/focus-trap)\r\n* [web-router](https://github.com/andreasbm/web-router)\r\n* [web-config](https://github.com/andreasbm/web-config)\r\n* [ts-lit-plugin](https://github.com/runem/ts-lit-plugin)\r\n* [blob](https://github.com/andreasbm/blob)\n\nAs inspiration for the layout of the generated README files I initially found inspiration from [terkelg's brilliant repository called prompts](https://github.com/terkelg/prompts) - a prime example on how every README file should look! I therefore wanted to mention him here even though he doesn't use this README generator. If you want to see an example of a brilliant README file you should definitely check his repository out.\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#future-work)\r\n\r\n## ➤ Future work\n\nThat's it for now! Lot's of exiting features a going to be added in the future. If you stumble upon an issue or have a feature request you are very welcome to open a Github issue or pull request. Have a great day!\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#faq)\r\n\r\n## ➤ FAQ\n\n### Can I see how my README file is going to look before I commit it?\n\nYes you definitely can! There are lots of tools out there for editing/previewing Github flavored markdown. I recommend using [https://stackedit.io/app](https://stackedit.io/app) to preview the final result since it is super lightweight and does it job well.\n\n### How can I get involved?\n\nCreate an issue or pull-request. You are also very welcome to throw me a message at [@AndreasMehlsen](https://twitter.com/andreasmehlsen).\n\n### I already have a large README file - I don't have time to rewrite everything!\n\nNo problem at all! Your first step can be to rename your `README.md` to `blueprint.md` and run `node_modules/.bin/readme generate`. Already then your README should now be well-formatted. Then you can slowly replace the contents when you have time. The low-hanging fruit would be to add the table of contents and license using respectively the `{{ template:toc }}` and `{{ template:license }}` templates.\n\n### How can I support you?\n\nThere are lot's of ways to support me! I would be so happy if you gave this repository a star, tweeted about it or told your friends about this little corner of the Internet ❤️\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#contributors)\r\n\r\n## ➤ Contributors\n\t\n\n| [\u003cimg alt=\"Andreas Mehlsen\" src=\"https://avatars1.githubusercontent.com/u/6267397?s=460\u0026v=4\" width=\"100\"\u003e](https://twitter.com/andreasmehlsen) | [\u003cimg alt=\"You?\" src=\"https://joeschmoe.io/api/v1/random\" width=\"100\"\u003e](https://github.com/andreasbm/readme/blob/master/CONTRIBUTING.md) |\n|:--------------------------------------------------:|:--------------------------------------------------:|\n| [Andreas Mehlsen](https://twitter.com/andreasmehlsen) | [You?](https://github.com/andreasbm/readme/blob/master/CONTRIBUTING.md) |\r\n| 🔥                                               |                                                  |\n\n\r\n[![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/colored.png)](#license)\r\n\r\n## ➤ License\n\t\nLicensed under [MIT](https://opensource.org/licenses/MIT).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasbm%2Freadme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreasbm%2Freadme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasbm%2Freadme/lists"}