From d5d96d04b4c9e5e6f065e1bcc8a628000c06667f Mon Sep 17 00:00:00 2001 From: Shawn Allen Date: Tue, 10 Oct 2017 12:21:01 -0700 Subject: [PATCH] Revert unintended merge of dev -> master This reverts commit 95f39668d10c3aee62af22caf39c9090f3f53399, reversing changes made to 3190c9cbae211b2ba04b15851245e79328002d60. --- .storybook/Octicon.js | 24 -- .storybook/addons.js | 1 - .storybook/config.js | 29 -- .storybook/lib/storiesFromMarkdown.js | 45 --- .storybook/postcss.config.js | 8 - .storybook/preview-head.html | 2 - .storybook/webpack.config.js | 38 --- .travis.yml | 3 + modules/generator-primer-module/README.md | 107 ------ modules/generator-primer-module/app/index.js | 175 ---------- .../app/lib/capitalize.js | 5 - .../app/lib/strip-prefix.js | 1 - .../generator-primer-module/app/options.js | 201 ----------- .../app/templates/.npmignore | 2 - .../app/templates/LICENSE | 21 -- .../app/templates/README.md | 55 --- .../app/templates/index.scss | 3 - .../app/templates/lib/module.scss | 1 - .../app/templates/package.json | 32 -- modules/generator-primer-module/package.json | 34 -- .../test/fixtures/docs.md | 1 - .../test/generator.spec.js | 150 --------- .../test/lib/generate.js | 57 ---- modules/primer-alerts/LICENSE | 2 +- modules/primer-alerts/package.json | 6 +- modules/primer-alerts/stories/Flash.js | 49 --- modules/primer-avatars/LICENSE | 2 +- modules/primer-avatars/package.json | 6 +- modules/primer-avatars/stories.js | 64 ---- modules/primer-base/LICENSE | 2 +- modules/primer-base/package.json | 6 +- modules/primer-blankslate/LICENSE | 2 +- modules/primer-blankslate/package.json | 6 +- modules/primer-blankslate/stories.js | 40 --- modules/primer-box/LICENSE | 2 +- modules/primer-box/package.json | 6 +- modules/primer-box/stories.js | 213 ------------ modules/primer-breadcrumb/LICENSE | 2 +- modules/primer-breadcrumb/README.md | 6 +- modules/primer-breadcrumb/index.scss | 1 + modules/primer-breadcrumb/package.json | 10 +- modules/primer-breadcrumb/stories.js | 10 - modules/primer-buttons/LICENSE | 2 +- modules/primer-buttons/package.json | 6 +- modules/primer-buttons/stories.js | 61 ---- modules/primer-cards/LICENSE | 2 +- modules/primer-cards/package.json | 6 +- modules/primer-core/LICENSE | 2 +- modules/primer-core/index.scss | 1 - modules/primer-core/package.json | 5 +- modules/primer-css/LICENSE | 2 +- modules/primer-css/package.json | 6 +- modules/primer-dropdown/.npmignore | 2 - modules/primer-dropdown/LICENSE | 21 -- modules/primer-dropdown/README.md | 312 ------------------ modules/primer-dropdown/index.scss | 2 - modules/primer-dropdown/lib/dropdown.scss | 262 --------------- modules/primer-dropdown/package.json | 39 --- modules/primer-forms/LICENSE | 2 +- modules/primer-forms/package.json | 6 +- modules/primer-forms/stories/index.js | 145 -------- modules/primer-labels/LICENSE | 2 +- modules/primer-labels/package.json | 6 +- modules/primer-layout/LICENSE | 2 +- modules/primer-layout/package.json | 6 +- modules/primer-markdown/LICENSE | 2 +- modules/primer-markdown/package.json | 6 +- modules/primer-marketing-support/LICENSE | 2 +- modules/primer-marketing-support/package.json | 5 +- modules/primer-marketing-type/LICENSE | 2 +- modules/primer-marketing-type/package.json | 8 +- modules/primer-marketing-utilities/LICENSE | 2 +- .../primer-marketing-utilities/package.json | 6 +- modules/primer-marketing/LICENSE | 2 +- modules/primer-marketing/index.scss | 1 + modules/primer-marketing/package.json | 5 +- modules/primer-navigation/LICENSE | 2 +- modules/primer-navigation/package.json | 6 +- modules/primer-page-headers/LICENSE | 2 +- modules/primer-page-headers/package.json | 6 +- modules/primer-page-sections/LICENSE | 2 +- modules/primer-page-sections/package.json | 6 +- modules/primer-product/LICENSE | 2 +- modules/primer-product/index.scss | 1 - modules/primer-product/package.json | 5 +- modules/primer-support/LICENSE | 2 +- modules/primer-support/package.json | 5 +- modules/primer-support/stories/Typography.js | 92 ------ modules/primer-table-object/LICENSE | 2 +- modules/primer-table-object/package.json | 8 +- modules/primer-tables/LICENSE | 2 +- modules/primer-tables/package.json | 6 +- modules/primer-tooltips/LICENSE | 2 +- modules/primer-tooltips/package.json | 8 +- modules/primer-truncate/LICENSE | 2 +- modules/primer-truncate/package.json | 8 +- modules/primer-utilities/LICENSE | 2 +- modules/primer-utilities/package.json | 6 +- package.json | 28 +- script/lint-scss | 3 - script/new-module | 24 -- script/npm-run | 6 - script/npm-run-all | 3 - script/test-docs | 3 - 104 files changed, 122 insertions(+), 2493 deletions(-) delete mode 100644 .storybook/Octicon.js delete mode 100644 .storybook/addons.js delete mode 100644 .storybook/config.js delete mode 100644 .storybook/lib/storiesFromMarkdown.js delete mode 100644 .storybook/postcss.config.js delete mode 100644 .storybook/preview-head.html delete mode 100644 .storybook/webpack.config.js delete mode 100644 modules/generator-primer-module/README.md delete mode 100644 modules/generator-primer-module/app/index.js delete mode 100644 modules/generator-primer-module/app/lib/capitalize.js delete mode 100644 modules/generator-primer-module/app/lib/strip-prefix.js delete mode 100644 modules/generator-primer-module/app/options.js delete mode 100644 modules/generator-primer-module/app/templates/.npmignore delete mode 100644 modules/generator-primer-module/app/templates/LICENSE delete mode 100644 modules/generator-primer-module/app/templates/README.md delete mode 100644 modules/generator-primer-module/app/templates/index.scss delete mode 100644 modules/generator-primer-module/app/templates/lib/module.scss delete mode 100644 modules/generator-primer-module/app/templates/package.json delete mode 100644 modules/generator-primer-module/package.json delete mode 100644 modules/generator-primer-module/test/fixtures/docs.md delete mode 100644 modules/generator-primer-module/test/generator.spec.js delete mode 100644 modules/generator-primer-module/test/lib/generate.js delete mode 100644 modules/primer-alerts/stories/Flash.js delete mode 100644 modules/primer-avatars/stories.js delete mode 100644 modules/primer-blankslate/stories.js delete mode 100644 modules/primer-box/stories.js delete mode 100644 modules/primer-breadcrumb/stories.js delete mode 100644 modules/primer-buttons/stories.js delete mode 100644 modules/primer-dropdown/.npmignore delete mode 100644 modules/primer-dropdown/LICENSE delete mode 100644 modules/primer-dropdown/README.md delete mode 100644 modules/primer-dropdown/index.scss delete mode 100644 modules/primer-dropdown/lib/dropdown.scss delete mode 100644 modules/primer-dropdown/package.json delete mode 100644 modules/primer-forms/stories/index.js delete mode 100644 modules/primer-support/stories/Typography.js delete mode 100755 script/lint-scss delete mode 100755 script/new-module delete mode 100755 script/npm-run delete mode 100755 script/npm-run-all delete mode 100755 script/test-docs diff --git a/.storybook/Octicon.js b/.storybook/Octicon.js deleted file mode 100644 index 5af481abf6..0000000000 --- a/.storybook/Octicon.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react' -import {storiesOf} from '@storybook/react' -import octicons from 'octicons' -import SVGInline from 'react-svg-inline' - -const Octicon = (props) => { - const {name} = props - if (name in octicons) { - return - } else { - throw new Error(`No such octicon: "${name}"!`) - } -} - -const story = storiesOf('Octicons', module) -const sizes = [64, 32, 16] - -Object.keys(octicons).forEach(name => { - story.add(name, () => ( -
{sizes.map((size, i) => ( - - ))}
- )) -}) diff --git a/.storybook/addons.js b/.storybook/addons.js deleted file mode 100644 index e6a2cf891d..0000000000 --- a/.storybook/addons.js +++ /dev/null @@ -1 +0,0 @@ -import '@storybook/addon-options/register' diff --git a/.storybook/config.js b/.storybook/config.js deleted file mode 100644 index 97c1c24eed..0000000000 --- a/.storybook/config.js +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react' -import { configure, addDecorator } from '@storybook/react' -import { setOptions } from '@storybook/addon-options' -import '../modules/primer-css/index.scss' - -setOptions({ - name: 'Primer', - url: 'http://primercss.io/', - showDownPanel: false, -}) - -addDecorator(story => ( -
- {story()} -
-)) - -const contexts = [ - require.context('.', true, /\.js$/), - require.context('../modules', true, /stories.*\.js$/), -] - -configure(() => { - contexts.forEach(context => { - context.keys() - .filter(key => !key.includes('node_modules')) - .forEach(context) - }) -}, module) diff --git a/.storybook/lib/storiesFromMarkdown.js b/.storybook/lib/storiesFromMarkdown.js deleted file mode 100644 index 440ddb67f2..0000000000 --- a/.storybook/lib/storiesFromMarkdown.js +++ /dev/null @@ -1,45 +0,0 @@ -import remark from 'remark' -import parents from 'unist-util-parents' -import select from 'unist-util-select' -import findBefore from 'unist-util-find-before' -import htmlToReact from 'html-to-react' -import parsePairs from 'parse-pairs' - -const htmlParser = new htmlToReact.Parser() - -const nodeToStory = (node, file) => { - const html = node.value - const element = htmlParser.parse(html) - const pairs = node.lang.replace(/^html\s*/, '') - const attrs = pairs.length ? parsePairs(pairs) : {} - const title = attrs.title || getPreviousHeading(node) || - `story @ ${file}:${node.position.start.line}` - return { - title, - story: () => element, - attrs, - html, - file, - node, - } -} - -const getPreviousHeading = node => { - const heading = findBefore(node.parent, node, 'heading') - return (heading && !heading.used) - ? (heading.used = true, heading.children.map(c => c.value).join('')) - : undefined -} - -export default req => { - return req.keys().reduce((stories, file) => { - const content = req(file) - const ast = parents(remark.parse(content)) - const path = file.replace(/^\.\//, '') - return stories.concat( - select(ast, 'code[lang^=html]') - .map(node => nodeToStory(node, path)) - .filter(({attrs}) => attrs.story !== "false") - ) - }, []) -} diff --git a/.storybook/postcss.config.js b/.storybook/postcss.config.js deleted file mode 100644 index 79cf025af8..0000000000 --- a/.storybook/postcss.config.js +++ /dev/null @@ -1,8 +0,0 @@ -// FIXME this should go away when we merge and release: -// -const plugins = require("primer-module-build/lib/.postcss.json") -delete plugins.use - -module.exports = { - plugins, -} diff --git a/.storybook/preview-head.html b/.storybook/preview-head.html deleted file mode 100644 index 03d0c82b2d..0000000000 --- a/.storybook/preview-head.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js deleted file mode 100644 index 29de1c3ad8..0000000000 --- a/.storybook/webpack.config.js +++ /dev/null @@ -1,38 +0,0 @@ -const path = require("path"); - -const modulesPath = path.resolve(__dirname, "../modules") - -module.exports = { - module: { - rules: [ - { - test: /\.md$/, - use: "raw-loader", - }, - { - test: /\.scss$/, - loaders: [ - "style-loader", - "css-loader", - { - loader: "postcss-loader", - options: { - config: { - path: require.resolve("./postcss.config.js"), - }, - }, - }, - { - loader: "sass-loader", - options: { - includePaths: [ - modulesPath, - ], - } - }, - ], - include: modulesPath, - }, - ], - }, -} diff --git a/.travis.yml b/.travis.yml index d666065e2c..b0d72d9175 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,9 @@ env: # github - secure: "J+1oWjvvXjyrwkY/4IFWKdN/weFmQcPwlRuFG4R0Gb3rYe4nqtC9l68sJvmS8asc8dQMhOhcUZCH6sjvo7l2WD4NuK4umPSbs+rJNUsfbvH4pZjStQIj/3ll1OfQelGDWAYQWhIfciYY4F3Bp0ZWTfKOppLQ2AVIYu1fPVXDdlo=" +before_script: + - lerna bootstrap + script: - npm test diff --git a/modules/generator-primer-module/README.md b/modules/generator-primer-module/README.md deleted file mode 100644 index 655b6b6859..0000000000 --- a/modules/generator-primer-module/README.md +++ /dev/null @@ -1,107 +0,0 @@ -# Primer CSS Module Generator - -[![npm version](http://img.shields.io/npm/v/generator-primer-module.svg)](https://www.npmjs.org/package/generator-primer-module) -[![Build Status](https://travis-ci.org/primer/primer-css.svg?branch=master)](https://travis-ci.org/primer/primer-css) - -Primer is the CSS framework that powers GitHub's front-end design. This is a -[Yeoman] generator that we use to scaffold new Primer modules. - -## Usage - -### In the Monorepo - -1. `cd` to the top level directory of the `primer-css` repository -1. Run: - - ```sh - npm run new-module - ``` - - You can also pass the module name as a positional argument like this: - - ```sh - npm run new-module -- primer-module-name - ``` - -1. Answer the interactive prompts. - - > If you don't know some of the answers (aside from the module name, which - > is required), it's okay to press enter or return. - -1. If all goes well, the new module will be bootstrapped and ready to use. You - should see a directory with this structure: - - ``` - modules/primer-module-name/ - ├── LICENSE - ├── README.md - ├── index.scss - ├── lib - │   └── module-name.scss - └── package.json - ``` - -1. If you have any TODOs left from unanswered prompts, fill them out! You can - list them again with: - - ```sh - ack TODO modules/primer-module-name - ``` - - (Note: you can use `grep` if you don't have `ack` installed.) - - -### Standalone installation - -This repository is distributed with [npm][npm]. After [installing -npm][install-npm], you can install `generator-primer-module` with this command. - -```sh -npm install --save generator-primer-module -``` - -You'll also need to install the [`yo` CLI](https://github.com/yeoman/yo): - -```sh -npm install -g yo -``` - -### Standalone usage - -It's possible to use this generator to create "standalone" Primer modules that -live outside of the Primer CSS monorepo, with the following caveats: - -* When prompted to add the new module to existing meta-packages, you will need - to un-select them all. -* You will also need to manually install all of the monorepo's top-level dev - dependencies to get tools like `primer-module-build` and `ava`. -* The `npm test` command will not work, because it references a test spec in - the monorepo. - -To run the generator, just pass `primer-module` to the `yo` CLI: - -```sh -yo primer-module -``` - -Then answer the interactiv prompts. **Note that, unlike most other generators, -this one creates a new directory with the provided module name in the current -working directory.** - -You can also pass the module name as a positional argument, as in: - -```sh -yo primer-module primer-foo-bar -``` - - -## License - -[MIT](./LICENSE) © [GitHub](https://github.com/) - -[primer]: https://github.com/primer/primer -[docs]: http://primercss.io/ -[npm]: https://www.npmjs.com/ -[install-npm]: https://docs.npmjs.com/getting-started/installing-node -[sass]: http://sass-lang.com/ -[yeoman]: http://yeoman.io diff --git a/modules/generator-primer-module/app/index.js b/modules/generator-primer-module/app/index.js deleted file mode 100644 index 1e85351e28..0000000000 --- a/modules/generator-primer-module/app/index.js +++ /dev/null @@ -1,175 +0,0 @@ -const chalk = require("chalk") -const fse = require("fs-extra") -const path = require("path") -const Generator = require("yeoman-generator") - -const stripPrimerPrefix = require("./lib/strip-prefix") - -const OPTIONS = require("./options") - -module.exports = class PrimerModule extends Generator { - - constructor(args, opts) { - super(args, opts) - - // initialize positional arguments and option flags - Object.entries(OPTIONS).forEach(([name, val]) => { - if (val.argument) { - this.argument(name, Object.assign(val.argument, {name})) - } else if (val.option) { - const option = Object.assign(val.option, {name}) - if (name.includes("_")) { - const alias = name.replace(/_/g, "-") - option.alias = option.alias - ? [alias].concat(option.alias) - : alias - } - this.option(name, option) - } - }) - } - - initializing() { - // this.log("It looks like you are adding a new Primer module!") - } - - prompting() { - if (this.options.module) { - this.log( - "Okay, let's get you started with %s...", - chalk.green(this.options.module) - ) - } - - // filter out options without prompts, and which already - // have options set, then add back the "name" key to each - const prompts = Object.entries(OPTIONS) - .filter(([name, {prompt}]) => { - return prompt && ( - prompt.when === true || typeof this.options[name] === "undefined" - ) - }) - .map(([name, {prompt}]) => { - // bind functions to the generator as `this` - Object.keys(prompt).forEach(key => { - if (typeof prompt[key] === "function") { - prompt[key] = prompt[key].bind(this) - } - }) - return Object.assign(prompt, {name}) - }) - - // remove prompts for which arguments were already provided - return this.prompt(prompts) - .then(answers => { - Object.assign(this.options, answers) - }) - } - - configuring() { - this.dependencies = this._getDependencies() - if (this.options.docs) { - return fse.readFile(this.options.docs, "utf8") - .then(docs => this.options.docs = docs) - } - } - - paths() { - this.basePath = this.destinationPath(this.options.module) - } - - writing() { - this.log("creating: %s", chalk.green(this.basePath)) - - const data = { - "dependencies": this.dependencies, - } - - Object.assign( - data, - Object.entries(OPTIONS) - .map(([name, value]) => [name, this.options[name]]) - .reduce((acc, [name, value]) => { - acc[name] = value - return acc - }, {}) - ) - - if (this.options.verbose) { - const debugData = Object.assign({}, data, { - "dependencies": Object.keys(data.dependencies), - }) - console.warn(chalk.green("data:"), JSON.stringify(debugData, null, " ")) - } - - // for the index.scss import - data.lib = stripPrimerPrefix(data.module) - - // copy the whole directory with each file treated as - // an EJS template - this.fs.copyTpl( - this.templatePath(), - this.basePath, - data - ) - - const src = path.join(this.basePath, "lib/module.scss") - const dest = src.replace("module.scss", `${data.lib}.scss`) - this.fs.move(src, dest) - } - - install() { - const pkg = this.fs.readJSON( - path.join(this.basePath, "package.json") - ) - // this.log("package:", pkg.name, "@", pkg.version) - - const dependents = this.options.dependents - if (Array.isArray(dependents)) { - dependents.forEach(dependent => { - this._addAsDependencyTo(pkg, dependent) - }) - } else { - this.log(chalk.red("No dependents!"), dependents) - } - } - - end() { - if (this.options.todo === true) { - this.log( - "\n📝 ", - chalk.bold("Remember to fill in any remaining TODOs below:"), - "\n" - ) - this.spawnCommandSync("ack", ["TODO", this.basePath], { - stdio: "inherit", - }) - } - } - - _getDependencies() { - return [ - "primer-support", - ].reduce((deps, module) => { - deps[module] = require(`${module}/package.json`) - return deps - }, {}) - } - - _addAsDependencyTo(pkg, dest) { - this.log( - "adding %s@%s as a dependency to %s...", - pkg.name, pkg.version, dest - ) - - const destPath = require.resolve( - path.join("../../", dest, "package.json") - ) - - this.fs.extendJSON(destPath, { - dependencies: { - [pkg.name]: pkg.version, - }, - }) - } -} diff --git a/modules/generator-primer-module/app/lib/capitalize.js b/modules/generator-primer-module/app/lib/capitalize.js deleted file mode 100644 index 13d35f95bc..0000000000 --- a/modules/generator-primer-module/app/lib/capitalize.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = str => { - return str.split("-") - .map(word => word.charAt(0).toUpperCase() + word.substr(1).toLowerCase()) - .join(" ") -} diff --git a/modules/generator-primer-module/app/lib/strip-prefix.js b/modules/generator-primer-module/app/lib/strip-prefix.js deleted file mode 100644 index 885ff764a6..0000000000 --- a/modules/generator-primer-module/app/lib/strip-prefix.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = str => str.replace(/^primer-/, "") diff --git a/modules/generator-primer-module/app/options.js b/modules/generator-primer-module/app/options.js deleted file mode 100644 index fbe6768f7e..0000000000 --- a/modules/generator-primer-module/app/options.js +++ /dev/null @@ -1,201 +0,0 @@ -const chalk = require("chalk") -const fse = require("fs-extra") - -const capitalize = require("./lib/capitalize") -const stripPrimerPrefix = require("./lib/strip-prefix") - -const META_PACKAGES = [ - "primer-css", - "primer-core", - "primer-product", - "primer-marketing", -] - -const MODULE_TYPES = [ - "components", - "objects", - "utilities", - "meta", - "tools", -] - -/** - * Primer module options - * - * Each key is the name of the option in the generator's - * `this.options` hash, and should be an object with one or more - * of the following keys: - * - * - "argument" indicates that this option is a positional - * argument to the `yo` CLI. - * - * - "option" indicates that this option an be passed via a - * `--name` flag to `yo`. For UNIX-y consistency, options - * containing "_" characters are aliased to the version with - * hyphens, so you can pass either "--module_type" or - * "--module-type". - * - * - "prompt" will trigger a prompt for this option if it was not - * already set via positional argument or CLI option. - */ -module.exports = { - - // the module name in npm - "module": { - argument: { - desc: "The name of your module (on npm)", - type: String, - required: false, - }, - prompt: { - name: "module", - message: "What should the module name be (on npm)?", - type: "input", - // the name must include primer somewhere - // FIXME: this should be validate in configuring() - validate: (name) => name.includes("primer") - }, - }, - - // the module type (currently only CSS is supported) - "type": { - option: { - desc: "The Primer module type (currently only CSS is supported)", - type: String, - default: "css", - // reject anything other than "css" for now - validate: type => type === "css", - }, - }, - - // the human-readable title of the module - "title": { - option: { - desc: "The module's human-readable title", - type: String, - alias: "t", - }, - prompt: { - message: "What should the title be (for humans)?", - type: "input", - default: function({module}) { - return capitalize( - stripPrimerPrefix(module || this.options.module) - ) - }, - }, - }, - - "description": { - option: {type: String}, - prompt: { - message: [ - "Describe your module in a single sentence.", - chalk.yellow("(This will go into the package.json and README.md.)"), - ].join("\n"), - type: "input", - default: "TODO: fill in this description later", - }, - }, - - "category": { - option: {type: String}, - prompt: { - message: "What category of package is this?", - type: "list", - choices: [ - "core", - "product", - "marketing", - "meta", - "" - ], - default: "core" - }, - }, - - "module_type": { - option: { - type: String, - alias: "m", - }, - prompt: { - message: "What type/kind of module is this?", - type: "list", - choices: MODULE_TYPES, - default: 0 - }, - }, - - "dependents": { - // This allows users (and our tests) to pass --no-dependents - // to disable updating dependent packages. XXX Note that the - // prompt will be skipped if --dependents is passed! - option: { - desc: "Update dependent package.json files (use --no-dependents to disable)", - type: Boolean, - }, - prompt: { - message: "Which meta-package(s) should we add this to?", - type: "checkbox", - when: function() { - return this.options.dependents !== false - }, - choices: META_PACKAGES, - default: function({category}) { - const pkgs = ["primer-css"] - category = category || this.options.category - return (category === "meta") - ? pkgs - : pkgs.concat(`primer-${category}`) - }, - }, - }, - - "docs": { - option: { - type: String, - }, - prompt: { - type: "input", - message: [ - "Where can we find the docs?", - chalk.yellow("(We'll read this file from the path you provide.)"), - ].join("\n"), - validate: (filePath) => { - if (!filePath) { - return true - } - return fse.exists(filePath) - .then(exists => { - return exists || - `No such file: "${filePath}" in ${process.cwd()}` - }) - }, - }, - }, - - "status": { - option: { - type: String, - default: "Experimental", - }, - }, - - "todo": { - option: { - desc: "Output TODO reminders (use --no-todo to disable)", - type: Boolean, - default: true, - }, - }, - - "verbose": { - option: { - desc: "Ouput more useful debugging info", - type: Boolean, - alias: "v", - }, - } - -} diff --git a/modules/generator-primer-module/app/templates/.npmignore b/modules/generator-primer-module/app/templates/.npmignore deleted file mode 100644 index 9fa88ac4d3..0000000000 --- a/modules/generator-primer-module/app/templates/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -.DS_Store -*.log diff --git a/modules/generator-primer-module/app/templates/LICENSE b/modules/generator-primer-module/app/templates/LICENSE deleted file mode 100644 index 5715c13693..0000000000 --- a/modules/generator-primer-module/app/templates/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2016 GitHub Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/modules/generator-primer-module/app/templates/README.md b/modules/generator-primer-module/app/templates/README.md deleted file mode 100644 index 302b7f7779..0000000000 --- a/modules/generator-primer-module/app/templates/README.md +++ /dev/null @@ -1,55 +0,0 @@ -# Primer CSS / <%= title %> - -[![npm version](http://img.shields.io/npm/v/<%= module %>.svg)](https://www.npmjs.org/package/<%= module %>) -[![Build Status](https://travis-ci.org/primer/primer-css.svg?branch=master)](https://travis-ci.org/primer/primer-css) - -> <%= description %> - -This repository is a module of the full [primer-css][primer-css] repository. - -## Install - -This repository is distributed with [npm]. After [installing npm][install-npm], you can install `<%= module %>` with this command. - -``` -$ npm install --save <%= module %> -``` - -## Usage - -The source files included are written in [Sass][sass] (SCSS) You can simply point your sass `include-path` at your `node_modules` directory and import it like this. - -```scss -@import "<%= module %>/index.scss"; -``` - -You can also import specific portions of the module by importing those partials from the `/lib/` folder. _Make sure you import any requirements along with the modules._ - -## Build - -For a compiled **CSS** version of this module, an npm script is included that will output a css version to `build/build.css` The built css file is also included in the npm package: - -``` -$ npm run build -``` - -## Documentation - - - -<%= docs || "TODO: Write some documentation here." %> - - - -## License - -[MIT](./LICENSE) © [GitHub](https://github.com/) - -[primer-css]: https://github.com/primer/primer -[docs]: http://primercss.io/ -[npm]: https://www.npmjs.com/ -[install-npm]: https://docs.npmjs.com/getting-started/installing-node -[sass]: http://sass-lang.com/ diff --git a/modules/generator-primer-module/app/templates/index.scss b/modules/generator-primer-module/app/templates/index.scss deleted file mode 100644 index 566b61a33e..0000000000 --- a/modules/generator-primer-module/app/templates/index.scss +++ /dev/null @@ -1,3 +0,0 @@ -// support files -@import "primer-support/index.scss"; -@import "./lib/<%= lib %>.scss"; diff --git a/modules/generator-primer-module/app/templates/lib/module.scss b/modules/generator-primer-module/app/templates/lib/module.scss deleted file mode 100644 index 8034abe200..0000000000 --- a/modules/generator-primer-module/app/templates/lib/module.scss +++ /dev/null @@ -1 +0,0 @@ -// SCSS goes here diff --git a/modules/generator-primer-module/app/templates/package.json b/modules/generator-primer-module/app/templates/package.json deleted file mode 100644 index 0f2950484e..0000000000 --- a/modules/generator-primer-module/app/templates/package.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": "0.0.1", - "name": "<%= module %>", - "description": "<%= description %>", - "homepage": "http://primercss.io/", - "primer": { - "category": "<%= category %>", - "module_type": "<%= module_type %>" - }, - "author": "GitHub, Inc.", - "license": "MIT", - "style": "index.scss", - "main": "build/index.js", - "repository": "https://github.com/primer/primer-css/tree/master/modules/<%= module %>", - "bugs": { - "url": "https://github.com/primer/primer-css/issues" - }, - "scripts": { - "test-docs": "../../script/test-docs", - "build": "../../script/npm-run primer-module-build index.scss", - "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint test-docs" - }, - "dependencies": { - "primer-support": "<%= dependencies['primer-support'].version %>" - }, - "keywords": [ - "github", - "primer" - ] -} diff --git a/modules/generator-primer-module/package.json b/modules/generator-primer-module/package.json deleted file mode 100644 index 234edf1ba0..0000000000 --- a/modules/generator-primer-module/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "version": "0.1.0", - "name": "generator-primer-module", - "description": "Use this to create a new Primer CSS modules!", - "author": "GitHub, Inc.", - "license": "MIT", - "primer": { - "module_type": "tools" - }, - "repository": "https://github.com/primer/primer-css/tree/master/modules/generator-primer-module", - "bugs": { - "url": "https://github.com/primer/primer-css/issues" - }, - "scripts": { - "test": "../../node_modules/.bin/ava -v test/**/*.spec.js", - "watch": "npm run test -- --watch" - }, - "dependencies": { - "chalk": "^2.1.0", - "fs-extra": "^4.0.1", - "yeoman-generator": "^1.1.1" - }, - "keywords": [ - "primer", - "css", - "github", - "primercss", - "yeoman-generator" - ], - "devDependencies": { - "yeoman-assert": "^3.0.0", - "yeoman-test": "^1.7.0" - } -} diff --git a/modules/generator-primer-module/test/fixtures/docs.md b/modules/generator-primer-module/test/fixtures/docs.md deleted file mode 100644 index cf7f96c393..0000000000 --- a/modules/generator-primer-module/test/fixtures/docs.md +++ /dev/null @@ -1 +0,0 @@ -These are the docs. diff --git a/modules/generator-primer-module/test/generator.spec.js b/modules/generator-primer-module/test/generator.spec.js deleted file mode 100644 index fa9c41c0b9..0000000000 --- a/modules/generator-primer-module/test/generator.spec.js +++ /dev/null @@ -1,150 +0,0 @@ -const test = require("ava") -const assert = require("yeoman-assert") -const fse = require("fs-extra") -const Path = require("path") -const generate = require("./lib/generate") - -// XXX: this is required to work around the low EventEmitter default of 10 max -// listeners, above which it starts to complain that there's a memory leak -// -require('events').EventEmitter.defaultMaxListeners = 100; - -test("file scaffolding", t => { - const module = "primer-test" - return generate({prompts: {module}}) - .then(path => { - const pkg = path("package.json") - assert.file(pkg) - assert.jsonFileContent(pkg, {name: module}, - "Wrong module name in package.json") - assert.jsonFileContent(pkg, {version: "0.0.1"}, - "Wrong or empty version in package.json") - - const readme = path("README.md") - assert.file(readme) - assert.fileContent(readme, /# Primer CSS \/ Test/) - assert.fileContent(readme, `npmjs.org/package/${module}`) - assert.fileContent(readme, `npm install --save ${module}`) - - assert.file(path("lib/test.scss")) - - t.pass("All the files exist.") - }) -}) - -test("default title", t => { - const titles = { - "primer-test": "Test", - "primer-foo-bar": "Foo Bar", - } - t.plan(Object.keys(titles).length) - return Promise.all( - Object.keys(titles).map(module => { - const title = titles[module] - return generate({prompts: {module}}) - .then(path => { - const readme = path("README.md") - assert.fileContent(readme, `\ntitle: ${title}\n`) - t.pass("module: '%s' => title: '%s'", module, title) - }) - }) - ) -}) - -test("missing description gets a TODO", t => { - return generate().then(path => { - assert.jsonFileContent(path("package.json"), {description: /TODO/}) - t.pass("TODO in the package.json description") - }) -}) - -test("primer.category is set", t => { - const values = ["core", "product", "marketing", "meta", ""] - t.plan(values.length) - return Promise.all( - values.map(category => { - return generate({prompts: {category}}) - .then(path => { - assert.jsonFileContent(path("package.json"), { - primer: {category} - }) - t.pass(category) - }) - }) - ) -}) - -test("primer.module_type is set", t => { - const values = [ - "components", - "objects", - "utilities", - "meta", - "", - ] - t.plan(values.length) - return Promise.all( - values.map(module_type => { - return generate({prompts: {module_type}}) - .then(path => { - assert.jsonFileContent(path("package.json"), { - primer: {module_type} - }) - t.pass(module_type) - }) - }) - ) -}) - -test("status: Experimental is written to %docs comment", t => { - return generate().then(path => { - assert.fileContent(path("README.md"), "\nstatus: Experimental\n") - t.pass("status: Experimental") - }) -}) - -test("repository path is set properly", t => { - const module = "primer-xyz" - return generate({prompts: {module}}) - .then(path => { - assert.jsonFileContent(path("package.json"), { - repository: `https://github.com/primer/primer-css/tree/master/modules/${module}`, - }) - t.pass() - }) -}) - -test("README description gets a TODO w/o prompt answer", t => { - return generate().then(path => { - assert.fileContent(path("README.md"), "> TODO:") - t.pass() - }) -}) - -test("docs get a TODO w/o prompt answer", t => { - return generate().then(path => { - assert.fileContent(path("README.md"), "TODO: Write some documentation") - t.pass() - }) -}) - -test("docs are filled in with file contents", t => { - const readme = Path.join(__dirname, "fixtures", "docs.md") - return fse.readFile(readme, "utf8") - .then(content => { - return generate({prompts: {docs: readme}}).then(path => { - assert.fileContent(path("README.md"), content) - t.pass() - }) - }) -}) - -test("index.scss imports lib/{module}.scss", t => { - const module = "primer-select-menu" - const lib = "select-menu" - return generate({prompts: {module}}) - .then(path => { - assert.fileContent(path("index.scss"), `@import "./lib/${lib}.scss";`) - t.pass() - }) -}) diff --git a/modules/generator-primer-module/test/lib/generate.js b/modules/generator-primer-module/test/lib/generate.js deleted file mode 100644 index ced993cb47..0000000000 --- a/modules/generator-primer-module/test/lib/generate.js +++ /dev/null @@ -1,57 +0,0 @@ -const yo = require('yeoman-test') -const path = require('path') - -const APP_PATH = path.join(__dirname, '../../app') - -// default CLI positional arguments -const TEST_ARGS = [] - -// default CLI flags -const TEST_OPTS = { - "dependents": false, - "todo": false -} - -// default prompt answers, so we can call generate() w/out any arguments and -// still get something useful -const TEST_PROMPTS = { - "module": "primer-test" -} - -/** - * Run the generator with an optional config that provides CLI options - * ("options"), positional arguments ("args"), and prompt answers ("prompts") - * in a temp directory. The return promise resolves with a function that acts - * like `path.join()` but prefixes the provided path parts with the path to the - * generated module directory, e.g. - * - * const generate = require("./lib/generate") - * generate().then(path => { - * console.log("generated package.json:", path("package.json")) - * }) - * - * // pass the module name as a positional argument - * generate({ - * args: ["primer-xyz"] - * }) - * - * // or as a prompt answer - * generate({ - * prompts: {"module": "primer-xyz"} - * }) - */ -module.exports = (config={}) => { - const options = Object.assign({}, TEST_OPTS, config.options) - const args = config.args || TEST_ARGS - const prompts = Object.assign({}, TEST_PROMPTS, config.prompts) - return yo.run(APP_PATH) - .withOptions(options) - .withArguments(args) - .withPrompts(prompts) - .inTmpDir() - .then(tmpDir => { - // return a path function that joins to the temp dir and the module name - // with the provided path parts - return (...args) => path.join(tmpDir, prompts.module, ...args) - }) -} diff --git a/modules/primer-alerts/LICENSE b/modules/primer-alerts/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-alerts/LICENSE +++ b/modules/primer-alerts/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-alerts/package.json b/modules/primer-alerts/package.json index b8d3899c95..44cac5c1aa 100644 --- a/modules/primer-alerts/package.json +++ b/modules/primer-alerts/package.json @@ -21,10 +21,10 @@ "url": "https://github.com/primer/primer-css/issues" }, "scripts": { - "build": "../../script/npm-run primer-module-build index.scss", + "build": "primer-module-build index.scss", "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint" + "lint": "stylelint **/*.scss -s scss", + "test": "npm-run-all -s build lint" }, "dependencies": { "primer-support": "4.4.0" diff --git a/modules/primer-alerts/stories/Flash.js b/modules/primer-alerts/stories/Flash.js deleted file mode 100644 index ebada81739..0000000000 --- a/modules/primer-alerts/stories/Flash.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' - -storiesOf('Flash alerts', module) -.add('flash', () => ( -
-
- flash -
-
-)) -.add('flash-warn', () => ( -
-
- flash-warn -
-
-)) -.add('flash-error', () => ( -
-
- flash-error -
-
-)) -.add('flash-success', () => ( -
-
- flash-success -
-
-)) -.add('flash with action button', () => ( -
-
- - Flash message with action here. -
-
-)) -.add('flash-full', () => ( -
-
-
- Full width flash message. -
-
-
-)) diff --git a/modules/primer-avatars/LICENSE b/modules/primer-avatars/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-avatars/LICENSE +++ b/modules/primer-avatars/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-avatars/package.json b/modules/primer-avatars/package.json index c76ce875dd..ca827d73cd 100644 --- a/modules/primer-avatars/package.json +++ b/modules/primer-avatars/package.json @@ -21,10 +21,10 @@ "url": "https://github.com/primer/primer-css/issues" }, "scripts": { - "build": "../../script/npm-run primer-module-build index.scss", + "build": "primer-module-build index.scss", "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint" + "lint": "stylelint **/*.scss -s scss", + "test": "npm-run-all -s build lint" }, "dependencies": { "primer-support": "4.4.0" diff --git a/modules/primer-avatars/stories.js b/modules/primer-avatars/stories.js deleted file mode 100644 index cf9aec8a7a..0000000000 --- a/modules/primer-avatars/stories.js +++ /dev/null @@ -1,64 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' - -storiesOf('Avatars', module) -.add('avatar', () => ( - Uncle Cat -)) -.add('avatar-small', () => ( - -)) -.add('avatar-parent-child', () => ( -
-
- - Child cat -
-
-)) -.add('avatar-stack', () => ( -
-
- Uncle Cat - Uncle Cat - Uncle Cat -
-
- -)) -.add('CircleBadge--small', () => ( -
- - - -
-)) -.add('CircleBadge--medium', () => ( -
- - - -
-)) -.add('CircleBadge--large', () => ( -
- - - -
-)) -.add('DashedConnection', () => ( -
-
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
-)) diff --git a/modules/primer-base/LICENSE b/modules/primer-base/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-base/LICENSE +++ b/modules/primer-base/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-base/package.json b/modules/primer-base/package.json index bec05eb571..835966cf38 100644 --- a/modules/primer-base/package.json +++ b/modules/primer-base/package.json @@ -21,10 +21,10 @@ "url": "https://github.com/primer/primer-css/issues" }, "scripts": { - "build": "../../script/npm-run primer-module-build index.scss", + "build": "primer-module-build index.scss", "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint" + "lint": "stylelint **/*.scss -s scss", + "test": "npm-run-all -s build lint" }, "dependencies": { "primer-support": "4.4.0" diff --git a/modules/primer-blankslate/LICENSE b/modules/primer-blankslate/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-blankslate/LICENSE +++ b/modules/primer-blankslate/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-blankslate/package.json b/modules/primer-blankslate/package.json index 74140ac3a4..641b08af41 100644 --- a/modules/primer-blankslate/package.json +++ b/modules/primer-blankslate/package.json @@ -21,10 +21,10 @@ "url": "https://github.com/primer/primer-css/issues" }, "scripts": { - "build": "../../script/npm-run primer-module-build index.scss", + "build": "primer-module-build index.scss", "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint" + "lint": "stylelint **/*.scss -s scss", + "test": "npm-run-all -s build lint" }, "dependencies": { "primer-support": "4.4.0" diff --git a/modules/primer-blankslate/stories.js b/modules/primer-blankslate/stories.js deleted file mode 100644 index 3e9b384cc8..0000000000 --- a/modules/primer-blankslate/stories.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' - -storiesOf('Blankslate', module) -.add('blankslate', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) -.add('blankslate-narrow', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) -.add('blankslate-large', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) -.add('blankslate-spacious', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) -.add('blankslate-capped', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) -.add('blankslate-clean-background', () => ( -
-

This is a blank slate

-

Use it to provide information when no dynamic content exists.

-
-)) diff --git a/modules/primer-box/LICENSE b/modules/primer-box/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-box/LICENSE +++ b/modules/primer-box/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-box/package.json b/modules/primer-box/package.json index 5a5c0b2e18..ee2e793e39 100644 --- a/modules/primer-box/package.json +++ b/modules/primer-box/package.json @@ -21,10 +21,10 @@ "url": "https://github.com/primer/primer-css/issues" }, "scripts": { - "build": "../../script/npm-run primer-module-build index.scss", + "build": "primer-module-build index.scss", "prepare": "npm run build", - "lint": "../../script/lint-scss", - "test": "../../script/npm-run-all build lint" + "lint": "stylelint **/*.scss -s scss", + "test": "npm-run-all -s build lint" }, "dependencies": { "primer-support": "4.4.0" diff --git a/modules/primer-box/stories.js b/modules/primer-box/stories.js deleted file mode 100644 index 2aeada432d..0000000000 --- a/modules/primer-box/stories.js +++ /dev/null @@ -1,213 +0,0 @@ -import React from 'react' -import { storiesOf } from '@storybook/react' - -storiesOf('Box', module) - .add('Box', () => ( -
- Box -
- )) - .add('Box elements', () => ( -
-
-

- Box-title -

-
-
- Box-body -
-
- Box-footer -
-
- )) - .add('Box-row', () => ( -
-
    -
  • - Box-row -
  • -
  • - Box-row -
  • -
  • - Box-row -
  • -
  • - Box-row -
  • -
-
- )) - .add('Box--condensed', () => ( -
-
-

- Box-title -

-
-
- Box-body -
-
    -
  • - Box-row -
  • -
  • - Box-row -
  • -
-
- Box-footer -
-
- )) - .add('Box--spacious', () => ( -
-
-

- Box-title -

-
-
- Box-body -
-
    -
  • - Box-row -
  • -
  • - Box-row -
  • -
-
- Box-footer -
-
- )) - .add('Box--blue', () => ( -
-
-

- Box-title -

-
-
- Box-body -
-
    -
  • - Box-row -
  • -
  • - Box-row -
  • -
-
- Box-footer -
-
- )) - .add('Box-header--blue', () => ( -
-
-

Box-title

-
-
- Box-body -
-
- )) - .add('Box--danger', () => ( -
-
- Row one -
-
- Row two -
-
- )) - .add('Box-row themes', () => ( -
-
-
- .Box-row--gray -
-
- .Box-row--hover-gray -
-
- .Box-row--yellow -
-
- .Box-row--hover-blue -
-
- .Box-row--blue -
-
-
-
- .Box-row--focus-gray and .navigation-focus -
-
- .Box-row--focus-gray -
-
- .Box-row--focus-blue and .navigation-focus -
-
- .Box-row--focus-blue -
-
-
- )) - .add('Box-row--unread', () => ( -
-
- Box row -
-
- Box row unread -
-
- Box row -
-
- )) - .add('Box-row-link', () => ( -
- -
- )) - .add('Box border-dashed', () => ( -
- Box border-dashed -
- )) - .add('Box with flash-full', () => ( -
-
- Box-header -
-
- flash-full -
-
- flash-full flash-success -
-
- flash-full flash-warn -
-
- flash-full flash-error -
-
- Box-body -
-
- )) diff --git a/modules/primer-breadcrumb/LICENSE b/modules/primer-breadcrumb/LICENSE index 61c8a4cffb..5715c13693 100644 --- a/modules/primer-breadcrumb/LICENSE +++ b/modules/primer-breadcrumb/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 GitHub Inc. +Copyright (c) 2016 GitHub Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/modules/primer-breadcrumb/README.md b/modules/primer-breadcrumb/README.md index 640c779ba7..0563466146 100644 --- a/modules/primer-breadcrumb/README.md +++ b/modules/primer-breadcrumb/README.md @@ -1,9 +1,9 @@ -# Primer CSS Breadcrumb Navigation +# Primer Marketing CSS Breadcrumb Navigation [![npm version](http://img.shields.io/npm/v/primer-breadcrumb.svg)](https://www.npmjs.org/package/primer-breadcrumb) [![Build Status](https://travis-ci.org/primer/primer-css.svg?branch=master)](https://travis-ci.org/primer/primer-css) -> Breadcrumb navigation for GitHub's pages with parents / grandparents. +> Breadcrumb navigation for GitHub's marketing pages with parents / grandparents. This repository is a module of the full [primer-css][primer] repository. @@ -22,7 +22,7 @@ Breadcrumbs are used to show taxonomical context on pages that are many levels d #### Usage -```html title="Breadcrumb" +```html