├── CNAME ├── freenode.verification ├── favicon.ico ├── img ├── link.png ├── bower-logo.eps ├── bower-logo.png └── bower-logo.svg ├── .gitignore ├── _config.yml ├── 404.md ├── bower.json ├── Gruntfile.js ├── opensearch.xml ├── README.md ├── package.json ├── js └── scripts.js ├── css ├── modules.css ├── masthead.css ├── base.css └── styles.css ├── index.md ├── _layouts └── default.html └── docs ├── about.md ├── creating-packages.md ├── tools.md ├── config.md └── api.md /CNAME: -------------------------------------------------------------------------------- 1 | bower.io -------------------------------------------------------------------------------- /freenode.verification: -------------------------------------------------------------------------------- 1 | 20130506-paul_irish 087qllso5 2 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/bower.github.io/master/favicon.ico -------------------------------------------------------------------------------- /img/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/bower.github.io/master/img/link.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | browser_modules 3 | .DS_Store 4 | bower_components/ 5 | _site/ 6 | -------------------------------------------------------------------------------- /img/bower-logo.eps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/bower.github.io/master/img/bower-logo.eps -------------------------------------------------------------------------------- /img/bower-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/bower.github.io/master/img/bower-logo.png -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | markdown: kramdown 2 | permalink: pretty 3 | exclude: 4 | - bower.json 5 | - package.json 6 | - Gruntfile.js 7 | -------------------------------------------------------------------------------- /404.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Page not found 3 | permalink: /404.html 4 | layout: default 5 | --- 6 | 7 |
Is something missing? Let us know by opening an issue.
8 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bower.github.io", 3 | "version": "0.2.0", 4 | "homepage": "https://github.com/desandro/bower.github.io", 5 | "authors": [ 6 | "David DeSandroWeb sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.
8 | 9 | Bower works by fetching and installing packages from all over, taking care of hunting, finding, downloading, and saving the stuff you're looking for. Bower keeps track of these packages in a manifest file, [`bower.json`](/docs/creating-packages/#bowerjson). How you use packages is up to you. Bower provides hooks to facilitate using packages in your [tools and workflows](/docs/tools). 10 | 11 | Bower is optimized for the front-end. Bower uses a flat dependency tree, requiring only one version for each package, reducing page load to a minimum. 12 | 13 | ## Install Bower 14 | 15 | Bower is a command line utility. Install it with npm. 16 | 17 | {% highlight bash %} 18 | $ npm install -g bower 19 | {% endhighlight %} 20 | 21 | Bower requires [Node and npm](http://nodejs.org/) and [Git](http://git-scm.org). 22 | 23 | ## Getting started 24 | 25 | ### Install packages 26 | 27 | Install packages with [`bower install`](/docs/api#install). Bower installs packages to `bower_components/`. 28 | 29 | {% highlight bash %} 30 | $ bower install
26 |
35 |
36 |
37 | Bower is made by lots of people across the globe, contributions large and small. Be a part of it.
7 | 8 | Bower was created at Twitter by [@fat](https://github.com/fat) and [@maccman](https://github.com/maccman), originally released as part of [Twitter's open source effort](https://engineering.twitter.com/opensource) in 2012. Since its release, [numerous individuals have made contributions](https://github.com/bower/bower/graphs/contributors). Bower is a team effort. 9 | 10 | ## Core team 11 | 12 | * [@satazor](https://github.com/satazor) 13 | * [@wibblymat](https://github.com/wibblymat) 14 | * [@paulirish](https://github.com/paulirish) 15 | * [@benschwarz](https://github.com/benschwarz) 16 | * [@sindresorhus](https://github.com/sindresorhus) 17 | * [@svnlto](https://github.com/svnlto) 18 | * [@sheerun](https://github.com/sheerun) 19 | 20 | ## Contributing 21 | 22 | Help make Bower better. We welcome contributions of all kinds. Please take a moment to review the [guidelines for contributing](https://github.com/bower/bower/blob/master/CONTRIBUTING.md). 23 | 24 | * [Bug reports](https://github.com/bower/bower/blob/master/CONTRIBUTING.md#bugs) 25 | * [Feature requests](https://github.com/bower/bower/blob/master/CONTRIBUTING.md#features) 26 | * [Pull requests](https://github.com/bower/bower/blob/master/CONTRIBUTING.md#pull-requests) 27 | 28 | ## Support 29 | 30 | * [StackOverflow](http://stackoverflow.com/questions/tagged/bower) 31 | * [Mailing list](http://groups.google.com/group/twitter-bower) - twitter-bower@googlegroups.com 32 | * [\#bower](http://webchat.freenode.net/?channels=bower) on Freenode 33 | 34 | ## Brand 35 | 36 | Bower is **Bower** with a capital B. 37 | 38 | ### Logo 39 | 40 | 41 | 42 | Download [**PNG**](/img/bower-logo.png) · [**SVG**](/img/bower-logo.svg) · [**EPS**](/img/bower-logo.eps) 43 | 44 | The Bower logo [was designed](https://gist.github.com/desandro/1c50118441f703f3f6e1) by [Dave DeSandro](http://desandro.com) and [Isaac Durazo](http://www.isaacdurazo.com/). It illustrates a [flame bowerbird performing its sultry mating dance](https://www.youtube.com/watch?v=wCzZj21Gs4U&t=24s). 45 | 46 | ### Colors 47 | 48 |49 | 50 | Dark brown 51 | #543729 52 | 53 | 54 | Red 55 | #EF5734 56 | 57 | 58 | Gold 59 | #FFCC2F 60 | 61 | 62 | Green 63 | #2BAF2B 64 | 65 | 66 | Blue 67 | #00ACEE 68 | 69 | 70 | Light gray 71 | #CECECE 72 | 73 |
74 | 75 | ### The bowerbird 76 | 77 | Bower is named after the [bowerbird](http://en.wikipedia.org/wiki/Bowerbird), a [family of birds](https://www.youtube.com/watch?v=E1zmfTr2d4c) where _males build a structure [the bower] and decorate it with sticks and brightly coloured objects in an attempt to attract a mate_. Bower does just that. Bower brings together bits and pieces from across the forest so you can build your structure. 78 | -------------------------------------------------------------------------------- /img/bower-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 50 | -------------------------------------------------------------------------------- /docs/creating-packages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Creating packages 3 | layout: default 4 | --- 5 | 6 | ## bower.json 7 | 8 | Packages are defined by a manifest file `bower.json`. This is similar to Node's `package.json` or Ruby's `Gemfile`. 9 | 10 | Interactively create a `bower.json` with [`bower init`](/docs/api#init) 11 | 12 | {% highlight bash %} 13 | $ bower init 14 | {% endhighlight %} 15 | 16 | The [`bower.json` spec](https://github.com/bower/bower.json-spec) defines several options, including: 17 | 18 | * `name` (required): The name of your package; please see [Register](/docs/creating-packages/#register) section for how to name your package. 19 | * `version`: A semantic version number (see [semver](http://semver.org/)). 20 | * `main` _string_ or _array_: The primary acting files necessary to use your package. 21 | * `ignore` _array_: An array of paths not needed in production that you want 22 | Bower to ignore when installing your package. 23 | * `keywords` _array_ of _string_: (recommended) helps make your package easier to discover 24 | * `dependencies` _hash_: Packages your package depends upon in production. 25 | Note that you can specify [ranges](https://github.com/isaacs/node-semver#ranges) 26 | of versions for your dependencies. 27 | * `devDependencies` _hash_: Development dependencies. 28 | * `private` _boolean_: Set to true if you want to keep the package private and 29 | do not want to register the package in future. 30 | 31 | {% highlight json %} 32 | { 33 | "name": "my-project", 34 | "version": "1.0.0", 35 | "main": "path/to/main.css", 36 | "ignore": [ 37 | ".jshintrc", 38 | "**/*.txt" 39 | ], 40 | "dependencies": { 41 | "Bower is used together with other tools to integrate with all sorts of setups and workflows.
7 | 8 | ## Grunt 9 | 10 | [**grunt-bower-concat**](https://github.com/sapegin/grunt-bower-concat)Bower can be configured using JSON in a .bowerrc file. For example:
7 | 8 | {% highlight json %} 9 | { 10 | "directory": "app/components/", 11 | "analytics": false, 12 | "timeout": 120000, 13 | "registry": { 14 | "search": [ 15 | "http://localhost:8000", 16 | "https://bower.herokuapp.com" 17 | ] 18 | } 19 | } 20 | {% endhighlight %} 21 | 22 | ## Placement & Order 23 | 24 | The config is obtained by merging multiple configurations by this order of 25 | importance: 26 | 27 | * CLI args via --config. 28 | * Environment variables 29 | * Local `.bowerrc `located in the current working directory 30 | * All `.bowerrc `files upwards the directory tree 31 | * `.bowerrc` file located in user's home folder (`~`) 32 | * `.bowerrc` file located in the global folder (`/`) 33 | 34 | Example of valid environment variables: 35 | 36 | * `bower_endpoint_parser` is evaluated as `endpoint-parser` 37 | * `bower_storage__cache` is evaluated as `storage.cache` 38 | 39 | ## .bowerrc specification 40 | 41 | * [analytics](#analytics) 42 | * [cwd](#cwd) 43 | * [directory](#directory) 44 | * [registry](#registry) 45 | * [shorthand-resolver](#shorthand-resolver) 46 | * [proxy](#proxy) 47 | * [https-proxy](#https-proxy) 48 | * [user-agent](#user-agent) 49 | * [timeout](#timeout) 50 | * [strict-ssl](#strict-ssl) 51 | * [ca](#ca) 52 | * [color](#color) 53 | * [storage](#storage) 54 | * [tmp](#tmp) 55 | * [interactive](#interactive) 56 | 57 | ### analytics 58 | 59 | _Boolean_ 60 | 61 | Bower can collect anonymous usage statistics. This allows the community to improve Bower and publicly display insights into CLI usage and packages at [bower.io/stats](http://bower.io/stats). 62 | 63 | Data is tracked using Google Analytics and instrumented via [Insight](https://github.com/yeoman/insight). It is made available to all Bower team members. Tracking is opt-in upon initial usage. If you'd prefer to disable analytics altogether, set `"analytics": false` in your `.bowerrc` file. Details on exactly what's tracked is available [here](https://github.com/yeoman/insight#collected-data). 64 | 65 | {% highlight json %} 66 | "analytics": true 67 | {% endhighlight %} 68 | 69 | ### cwd 70 | 71 | _String_ 72 | 73 | Current working directory - the directory from which bower should run. All relative paths will be calculated 74 | according to this setting. 75 | 76 | {% highlight json %} 77 | "cwd": "~/my-project" 78 | {% endhighlight %} 79 | 80 | ### directory 81 | 82 | _String_ 83 | 84 | The path in which installed components should be saved. If not specified this 85 | defaults to `bower_components`. 86 | 87 | {% highlight json %} 88 | "directory": "~/my-project/vendor" 89 | {% endhighlight %} 90 | 91 | ### registry 92 | 93 | _Object_ or _String_ 94 | 95 | The registry config. Can be an object or a string. If a string is used, all the 96 | property values bellow will have its value. Defaults to the bower registry URL. 97 | 98 | If your organization wishes to maintain a private registry, you may change the 99 | values below. 100 | 101 | {% highlight json %} 102 | "registry": "http://localhost:8000" 103 | {% endhighlight %} 104 | 105 | #### registry.search 106 | 107 | _Array_ or _String_ 108 | 109 | An array of URLs pointing to read-only Bower registries. A string means only 110 | one. When looking into the registry for an endpoint, Bower will query these 111 | registries by the specified order. 112 | 113 | {% highlight json %} 114 | "registry": { 115 | "search": [ 116 | "http://localhost:8000", 117 | "https://bower.herokuapp.com" 118 | ] 119 | } 120 | {% endhighlight %} 121 | 122 | #### registry.register 123 | 124 | _String_ 125 | 126 | The URL to use when registering packages. 127 | 128 | {% highlight json %} 129 | "registry": { 130 | "register": "http://localhost:8000" 131 | } 132 | {% endhighlight %} 133 | 134 | 135 | #### registry.publish 136 | 137 | _String_ 138 | 139 | The URL to use when publish packages. 140 | 141 | {% highlight json %} 142 | "registry": { 143 | "publish": "http://localhost:8000" 144 | } 145 | {% endhighlight %} 146 | 147 | ### shorthand-resolver 148 | 149 | _String_ 150 | 151 | Define a custom template for shorthand package names. 152 | Defaults to {% raw %}`git://github.com/{{owner}}/{{package}}.git`{% endraw %} 153 | 154 | The `shorthand-resolver` key provides support for defining a custom template 155 | which Bower uses when constructing a URL for a given shorthand. For example, if 156 | a shorthand of `twitter/flight` or `twitter/flight#v1.0.0` is specified in the 157 | package's manifest dependencies, the following data can be referenced from 158 | within the `shorthand-resolver` template: 159 | 160 | owner: "twitter" 161 | package: "flight" 162 | shorthand: "twitter/flight" 163 | 164 | {% highlight json %} 165 | {% raw %} 166 | "shorthand-resolver": "git://example.com/{{owner}}/components/{{package}}.git" 167 | {% endraw %} 168 | {% endhighlight %} 169 | 170 | {% highlight json %} 171 | {% raw %} 172 | "shorthand-resolver": "git://example.com/{{shorthand}}.git" 173 | {% endraw %} 174 | {% endhighlight %} 175 | 176 | ### proxy 177 | 178 | _String_ 179 | 180 | The proxy to use for http requests. 181 | 182 | {% highlight json %} 183 | "proxy":"http://| Registered package name | 119 |
120 | jquery121 | normalize.css
122 | |
123 |
| Git endpoint | 126 |
127 | https://github.com/user/package.git128 | git@github.com:user/package.git
129 | |
130 |
| Local folder | 133 |my/local/folder/ |
134 |
| Public Subversion endpoint | 137 |svn+http://package.googlecode.com/svn/ |
138 |
| Private Subversion endpoint | 141 |
142 | svn+ssh://package.googlecode.com/svn/143 | svn+https://package.googlecode.com/svn/
144 | |
145 |
| Shorthand (defaults to GitHub) | 148 |user/package |
149 |
| URL | 152 |
153 | http://example.com/script.js154 | http://example.com/style.css155 | http://example.com/package.zip (contents will be extracted)156 | http://example.com/package.tar (contents will be extracted)
157 | |
158 |
| semver version | 167 |
168 | #1.2.3
169 | |
170 |
| version range | 173 |
174 | #1.2175 | #~1.2.3176 | #^1.2.3177 | #>=1.2.3 <2.0178 | |
179 |
| Git tag | 182 |#<tag> |
183 |
| Git commit SHA | 186 |#<sha> |
187 |
| Git branch | 190 |#<branch> |
191 |
| Subversion revision | 194 |#<revision> |
195 |