Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 416 lines (293 sloc) 14.601 kb
3fbf767 Joe Esposito Use "GitHub" instead of "Github".
authored
1 Grip -- GitHub Readme Instant Preview
9bc5190 Joe Esposito Initial commit.
authored
2 =====================================
3
ad20298 Joe Esposito Add badges.
authored
4 [![Downloads/month on PyPI](http://img.shields.io/pypi/dm/grip.svg)][pypi]
5 [![Current version on PyPI](http://img.shields.io/pypi/v/grip.svg)][pypi]
6
3fbf767 Joe Esposito Use "GitHub" instead of "Github".
authored
7 Render local readme files before sending off to GitHub.
9bc5190 Joe Esposito Initial commit.
authored
8
9e9a633 Joe Esposito Make Readme 'description' implicit.
authored
9 Grip is a command-line server application written in Python that uses the
3fbf767 Joe Esposito Use "GitHub" instead of "Github".
authored
10 [GitHub markdown API][markdown] to render a local readme file. The styles also
11 come directly from GitHub, so you'll know exactly how it will appear.
9bc5190 Joe Esposito Initial commit.
authored
12
13
84cb514 Joe Esposito README section wording.
authored
14 Motivation
15 ----------
9bc5190 Joe Esposito Initial commit.
authored
16
17 Sometimes you just want to see the exact readme
3fbf767 Joe Esposito Use "GitHub" instead of "Github".
authored
18 result before committing and pushing to GitHub.
9bc5190 Joe Esposito Initial commit.
authored
19
2dc2014 Joe Esposito Readme: Add 'Readme-driven development' note.
authored
20 Especially when doing [Readme-driven development][rdd].
21
9bc5190 Joe Esposito Initial commit.
authored
22
e4a4df5 Joe Esposito Move up installation.
authored
23 Installation
24 ------------
25
26 To install grip, simply:
27
dd751c4 Joe Esposito Readme: fences.
authored
28 ```bash
29 $ pip install grip
30 ```
e4a4df5 Joe Esposito Move up installation.
authored
31
32
9bc5190 Joe Esposito Initial commit.
authored
33 Usage
34 -----
35
6706fdf Joe Esposito Readme: simplify 'usage'.
authored
36 To render the readme of a repository:
9bc5190 Joe Esposito Initial commit.
authored
37
dd751c4 Joe Esposito Readme: fences.
authored
38 ```bash
39 $ cd myrepo
fa7f22f Joe Esposito Readme: Add usage examples.
authored
40 $ grip
41 * Running on http://localhost:5000/
dd751c4 Joe Esposito Readme: fences.
authored
42 ```
9bc5190 Joe Esposito Initial commit.
authored
43
8129729 Joe Esposito Update README to reflect port argument.
authored
44 Now open a browser and visit [http://localhost:5000](http://localhost:5000/).
45
fa7f22f Joe Esposito Readme: Add usage examples.
authored
46 You can also specify a port:
47
48 ```bash
49 $ grip 80
50 * Running on http://localhost:80/
51 ```
52
53 Or an explicit file:
54
55 ```bash
ed5eb92 Joe Esposito Add note about relative URLs, using AUTHORS.md.
authored
56 $ grip AUTHORS.md
fa7f22f Joe Esposito Readme: Add usage examples.
authored
57 * Running on http://localhost:5000/
58 ```
59
ed5eb92 Joe Esposito Add note about relative URLs, using AUTHORS.md.
authored
60 Alternatively, you could just run `grip` and visit [localhost:5000/AUTHORS.md][AUTHORS.md]
61 since grip supports relative URLs.
62
4453cd3 Joe Esposito Readme: Clarify descriptions and examples.
authored
63 You can combine the previous examples. Or specify a hostname instead of a port. Or provide both.
82eb9fb Joe Esposito Add note about using both a path and address.
authored
64
65 ```bash
8a90ee4 Joe Esposito Add more path and address examples.
authored
66 $ grip AUTHORS.md 80
67 * Running on http://localhost:80/
68 ```
69
70 ```bash
4453cd3 Joe Esposito Readme: Clarify descriptions and examples.
authored
71 $ grip CHANGES.md 0.0.0.0
72 * Running on http://0.0.0.0:5000/
73 ```
74
75 ```bash
76 $ grip . 0.0.0.0:80
82eb9fb Joe Esposito Add note about using both a path and address.
authored
77 * Running on http://0.0.0.0:80/
78 ```
79
2c3cc4b Joe Esposito Readme: Add bold for skimmability.
authored
80 You can even bypass the server and **export** to a single HTML file, with all the styles and assets inlined:
4453cd3 Joe Esposito Readme: Clarify descriptions and examples.
authored
81
8a90ee4 Joe Esposito Add more path and address examples.
authored
82 ```bash
4453cd3 Joe Esposito Readme: Clarify descriptions and examples.
authored
83 $ grip --export
84 Exporting to README.html
8a90ee4 Joe Esposito Add more path and address examples.
authored
85 ```
86
4453cd3 Joe Esposito Readme: Clarify descriptions and examples.
authored
87 Control the output name with the second argument:
1955831 Cleanup Todo s and stuff
iliggio authored
88
89 ```bash
e708d34 Joe Esposito Re-order --export argument for clarity.
authored
90 $ grip README.md --export readme.html
d98c4e2 Joe Esposito Fix example output and tweak wording.
authored
91 Exporting to readme.html
1955831 Cleanup Todo s and stuff
iliggio authored
92 ```
93
6e0e570 Joe Esposito Add piping support:
authored
94 Reading and writing from **stdin** and **stdout** is also supported, allowing you to use Grip with other programs:
95
96 ```bash
97 $ cat README.md | grip -
98 * Running on http://localhost:5000/
99 ```
100
101 ```bash
e708d34 Joe Esposito Re-order --export argument for clarity.
authored
102 $ grip AUTHORS.md --export - | bcat
6e0e570 Joe Esposito Add piping support:
authored
103 ```
104
105 ```bash
106 $ cat README.md | grip --export - | less
107 ```
108
d98c4e2 Joe Esposito Fix example output and tweak wording.
authored
109 This allows you to quickly test how things look by entering Markdown directly in your terminal:
6e0e570 Joe Esposito Add piping support:
authored
110
111 ```bash
112 $ grip -
113 Hello **world**!
114 ^Z
115 * Running on http://localhost:5000/
116 ```
117
2c3cc4b Joe Esposito Readme: Add bold for skimmability.
authored
118 **Comment / issue-style GFM** is also supported, with an optional repository context for linking to issues:
fa7f22f Joe Esposito Readme: Add usage examples.
authored
119
120 ```bash
121 $ grip --gfm --context=joeyespo/grip
122 * Running on http://localhost:5000/
123 ```
124
5390618 Joe Esposito Add --wide option.
authored
125 For more details and additional options, see the help:
fa7f22f Joe Esposito Readme: Add usage examples.
authored
126
127 ```bash
128 $ grip -h
129 ```
130
9bc5190 Joe Esposito Initial commit.
authored
131
938204a Joe Esposito Fix #46: Document the --user / --pass arguments
authored
132 Access
133 ------
134
135 Grip strives to be as close to GitHub as possible. To accomplish this, grip
136 uses [GitHub's Markdown API][markdown] so that changes to their rendering
137 engine are reflected immediately without requiring you to upgrade grip.
138 However, because of this you may hit the API's hourly rate limit. If this
139 happens, grip offers a way to access the API using your credentials
140 to unlock a much higher rate limit.
141
142 ```bash
143 $ grip --user <your-username> --pass <your-password>
144 ```
145
648a0a4 Joe Esposito Document using tokens with --pass, add security concern to README, and l...
authored
146 Or use a [personal access token][] with an empty scope (note that a token is
147 *required* if your GitHub account is set up with two-factor authentication):
4f91f11 Joe Esposito Document the configuration options.
authored
148
6be3ea6 Joe Esposito Clarify personal access tokens:
authored
149 ```bash
150 $ grip --pass <token>
151 ```
152
153 You can persist these options [in your local configuration](#configuration).
648a0a4 Joe Esposito Document using tokens with --pass, add security concern to README, and l...
authored
154 For security purposes, it's highly recommended that you **use an access token
155 over a password**. (You could also keep your password safe by configuring
156 Grip to [grab your password from a password manager][keychain-access].)
f3fbe35 Dave James Miller Link to create a personal access token in readme
davejamesmiller authored
157
b13d18b Joe Esposito README: Refer to the offline rendering branch in the Access section.
authored
158 There's also a [work-in-progress branch][fix-render-offline] to provide
159 **offline rendering**. Once this resembles GitHub more precisely, it'll
160 be exposed in the CLI, and will ultimately be used as a seamless fallback
161 engine for when the API can't be accessed.
162
b4c03f9 Joe Esposito Leftover space.
authored
163 Grip always accesses GitHub over HTTPS,
82c506a Joe Esposito Tweak the README:
authored
164 so your README and credentials are protected.
b13d18b Joe Esposito README: Refer to the offline rendering branch in the Access section.
authored
165
c23eace Joe Esposito README cleanup.
authored
166
9435ca6 Joe Esposito Add Known Issues section.
authored
167 Known issues
168 ------------
169
170 - [ ] GitHub introduced read-only task lists to all Markdown documents in
171 repositories and wikis [back in April][task-lists], but
82c506a Joe Esposito Tweak the README:
authored
172 [the API][markdown] doesn't respect this yet.
9435ca6 Joe Esposito Add Known Issues section.
authored
173
174
4f91f11 Joe Esposito Document the configuration options.
authored
175 Configuration
176 -------------
177
6f443bb Joe Esposito Clarify Configuration section and add an example.
authored
178 To customize Grip, create `~/.grip/settings.py`, then add one or more of the following variables:
4f91f11 Joe Esposito Document the configuration options.
authored
179
180 - `HOST`: The host to use when not provided as a CLI argument, `localhost` by default
181 - `PORT`: The port to use when not provided as a CLI argument, `5000` by default
182 - `DEBUG`: Whether to use Flask's debugger when an error happens, `True` by default
183 - `DEBUG_GRIP`: Prints extended information when an error happens, `False` by default
184 - `USERNAME`: The username to use when not provided as a CLI argument, `None` by default
648a0a4 Joe Esposito Document using tokens with --pass, add security concern to README, and l...
authored
185 - `PASSWORD`: The password or [personal access token][] to use when not provided as a CLI argument (*Please don't save your passwords here.* Instead, use an access token or drop in this code [grab your password from a password manager][keychain-access]), `None` by default
df91f38 Joe Esposito Add `{version}` format argument to `CACHE_DIRECTORY`:
authored
186 - `CACHE_DIRECTORY`: The directory, relative to `~/.grip`, to place cached assets (this gets run through the following filter: `CACHE_DIRECTORY.format(version=__version__)`), `'cache-{version}'` by default
82a1e5d Joe Esposito Add URL safeguards in case of conflict:
authored
187 - `CACHE_URL`: The URL to serve cached styles and assets from, in case there's a URL conflict, `'/grip-cache'` by default
188 - `STATIC_URL_PATH`: The URL to serve static assets from, in case there's a URL conflict, `'/grip-static'` by default
d8abb6f Joe Esposito Remove leftover STYLE_URLS note.
authored
189 - `STYLE_URLS`: Additional URLs that will be added to the rendered page, `[]` by default
4f91f11 Joe Esposito Document the configuration options.
authored
190 - `STYLE_URLS_SOURCE`: The URL to use to locate and download the styles from, `https://github.com/joeyespo/grip` by default
191 - `STYLE_URLS_RE`: The regular expression to use to parse the styles from the source
8940a03 Joe Esposito Cache style assets:
authored
192 - `STYLE_ASSET_URLS_RE`: The regular expression to use to parse the assets from the styles
193 - `STYLE_ASSET_URLS_SUB`: Replaces the above regular expression with a local URL, as saved in the cache
97c26e6 Joe Esposito Inline assets into styles when exporting.
authored
194 - `STYLE_ASSET_URLS_INLINE`: The regular expression to use when inlining assets into the downloaded style
195 Note that this must include both the original and post-`STYLE_ASSET_URLS_SUB` patterns.
4f91f11 Joe Esposito Document the configuration options.
authored
196
6f443bb Joe Esposito Clarify Configuration section and add an example.
authored
197 #### Advanced
4f91f11 Joe Esposito Document the configuration options.
authored
198
6f443bb Joe Esposito Clarify Configuration section and add an example.
authored
199 This file is a normal Python script, so you can add more advanced configuration.
200
201 For example, to read a setting from the environment and provide a default value
202 when it's not set:
203
204 ```python
205 PORT = os.environ.get('GRIP_PORT', 8080)
206 ```
4f91f11 Joe Esposito Document the configuration options.
authored
207
208
e387909 Joe Esposito Readme: rename 'Python API' section to 'API'.
authored
209 API
210 ---
9bc5190 Joe Esposito Initial commit.
authored
211
212 You can access the API directly with Python, using it in your own projects:
213
dd751c4 Joe Esposito Readme: fences.
authored
214 ```python
215 from grip import serve
216
8e5253a Joe Esposito Remove arguments.
authored
217 serve(port=8080)
a9b8f79 Joe Esposito Fix README port typo.
authored
218 * Running on http://localhost:8080/
dd751c4 Joe Esposito Readme: fences.
authored
219 ```
9bc5190 Joe Esposito Initial commit.
authored
220
e120a9f Joe Esposito Update API documentation.
authored
221 Or access the underlying Flask application for even more flexibility:
222
223 ```python
224 from grip import create_app
225
226 grip_app = create_app(gfm=True)
227 # Use in your own app
228 ```
229
230
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
231 ### Documentation
232
e120a9f Joe Esposito Update API documentation.
authored
233 #### serve
f0611b3 Joe Esposito Update API section in README.
authored
234
e120a9f Joe Esposito Update API documentation.
authored
235 Runs a local server and renders the Readme file located
236 at `path` when visited in the browser.
f0611b3 Joe Esposito Update API section in README.
authored
237
238 ```python
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
239 serve(path=None, host=None, port=None, gfm=False, context=None, username=None, password=None, render_offline=False, render_wide=False, render_inline=False)
f0611b3 Joe Esposito Update API section in README.
authored
240 ```
241
2f286d0 Joe Esposito Fix API documentation.
authored
242 - `path`: The filename to render, or the directory containing your Readme file, defaulting to the current working directory
243 - `host`: The host to listen on, defaulting to the HOST configuration variable
244 - `port`: The port to listen on, defaulting to the PORT configuration variable
f0611b3 Joe Esposito Update API section in README.
authored
245 - `gfm`: Whether to render using [GitHub Flavored Markdown][gfm]
246 - `context`: The project context to use when `gfm` is true, which
247 takes the form of `username/project`
248 - `username`: The user to authenticate with GitHub to extend the API limit
249 - `password`: The password to authenticate with GitHub to extend the API limit
515a1e6 Joe Esposito Remove --render-offline from release until fixed.
authored
250 - `render_offline`: Whether to render locally using [Python-Markdown][] (Note: this is a work in progress)
76b67ec Joe Esposito Remove 'Note' from render_wide docs so the text fits.
authored
251 - `render_wide`: Whether to render a wide page, `False` by default (this has no effect when used with `gfm`)
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
252 - `render_inline`: Whether to inline the styles within the HTML file
f0611b3 Joe Esposito Update API section in README.
authored
253
254
e120a9f Joe Esposito Update API documentation.
authored
255 #### export
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
256
97c26e6 Joe Esposito Inline assets into styles when exporting.
authored
257 Writes the specified Readme file to an HTML file with styles and assets inlined.
1fee442 Joe Esposito Readme: Add description.
authored
258
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
259 ```python
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
260 export(path=None, gfm=False, context=None, username=None, password=None, render_offline=False, render_wide=False, render_inline=True, out_filename=None)
e120a9f Joe Esposito Update API documentation.
authored
261 ```
262
2f286d0 Joe Esposito Fix API documentation.
authored
263 - `path`: The filename to render, or the directory containing your Readme file, defaulting to the current working directory
e120a9f Joe Esposito Update API documentation.
authored
264 - `gfm`: Whether to render using [GitHub Flavored Markdown][gfm]
265 - `context`: The project context to use when `gfm` is true, which
266 takes the form of `username/project`
267 - `username`: The user to authenticate with GitHub to extend the API limit
268 - `password`: The password to authenticate with GitHub to extend the API limit
515a1e6 Joe Esposito Remove --render-offline from release until fixed.
authored
269 - `render_offline`: Whether to render locally using [Python-Markdown][] (Note: this is a work in progress)
2f286d0 Joe Esposito Fix API documentation.
authored
270 - `render_wide`: Whether to render a wide page, `False` by default (this has no effect when used with `gfm`)
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
271 - `render_inline`: Whether to inline the styles within the HTML file (Note: unlike the other API functions, this defaults to `True`)
e120a9f Joe Esposito Update API documentation.
authored
272 - `out_filename`: The filename to write to, `<in_filename>.html` by default
273
274
275 #### create_app
276
277 Creates a Flask application you can use to render and serve the Readme files.
278 This is the same app used by `serve` and `export` and initializes the cache,
279 using the cached styles when available.
280
281 ```python
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
282 create_app(path=None, gfm=False, context=None, username=None, password=None, render_offline=False, render_wide=False, render_inline=False, text=None)
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
283 ```
284
2f286d0 Joe Esposito Fix API documentation.
authored
285 - `path`: The filename to render, or the directory containing your Readme file, defaulting to the current working directory
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
286 - `gfm`: Whether to render using [GitHub Flavored Markdown][gfm]
287 - `context`: The project context to use when `gfm` is true, which
288 takes the form of `username/project`
f0611b3 Joe Esposito Update API section in README.
authored
289 - `username`: The user to authenticate with GitHub to extend the API limit
290 - `password`: The password to authenticate with GitHub to extend the API limit
515a1e6 Joe Esposito Remove --render-offline from release until fixed.
authored
291 - `render_offline`: Whether to render locally using [Python-Markdown][] (Note: this is a work in progress)
76b67ec Joe Esposito Remove 'Note' from render_wide docs so the text fits.
authored
292 - `render_wide`: Whether to render a wide page, `False` by default (this has no effect when used with `gfm`)
e120a9f Joe Esposito Update API documentation.
authored
293 - `render_inline`: Whether to inline the styles within the HTML file
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
294 - `text`: A string or stream of Markdown text to render instead of being loaded from `path` (Note: `path` can be used to set the page title)
e120a9f Joe Esposito Update API documentation.
authored
295
296
297 #### render_app
298
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
299 Renders the application created by `create_app` and returns the HTML that would
300 normally appear when visiting that route.
301
e120a9f Joe Esposito Update API documentation.
authored
302 ```python
303 render_app(app, route='/')
304 ```
305
306 - `app`: The Flask application to render
307 - `route`: The route to render, '/' by default
8eb4d34 Joe Esposito Readme: Add documentation section.
authored
308
b458663 Joe Esposito Readme: Add 'contributing' section.
authored
309
681170f Joe Esposito Readme: Document remaining functions.
authored
310 #### render_content
311
e120a9f Joe Esposito Update API documentation.
authored
312 Renders the specified markdown text without caching.
681170f Joe Esposito Readme: Document remaining functions.
authored
313
314 ```python
f0611b3 Joe Esposito Update API section in README.
authored
315 render_content(text, gfm=False, context=None, username=None, password=None, render_offline=False)
681170f Joe Esposito Readme: Document remaining functions.
authored
316 ```
317
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
318 - `text`: The Markdown text to render
681170f Joe Esposito Readme: Document remaining functions.
authored
319 - `gfm`: Whether to render using [GitHub Flavored Markdown][gfm]
320 - `context`: The project context to use when `gfm` is true, which
321 takes the form of `username/project`
f0611b3 Joe Esposito Update API section in README.
authored
322 - `username`: The user to authenticate with GitHub to extend the API limit
323 - `password`: The password to authenticate with GitHub to extend the API limit
515a1e6 Joe Esposito Remove --render-offline from release until fixed.
authored
324 - `render_offline`: Whether to render locally using [Python-Markdown][] (Note: this is a work in progress)
681170f Joe Esposito Readme: Document remaining functions.
authored
325
f0611b3 Joe Esposito Update API section in README.
authored
326
681170f Joe Esposito Readme: Document remaining functions.
authored
327 #### render_page
328
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
329 Renders the markdown from the specified path or text, without caching,
330 and returns an HTML page that resembles the GitHub Readme view.
681170f Joe Esposito Readme: Document remaining functions.
authored
331
332 ```python
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
333 render_page(page=None, gfm=False, context=None, username=None, password=None, render_offline=False, render_wide=False, render_inline=False, text=None)
681170f Joe Esposito Readme: Document remaining functions.
authored
334 ```
335
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
336 - `path`: The path to use for the page title, rendering `'README.md'` if None
681170f Joe Esposito Readme: Document remaining functions.
authored
337 - `gfm`: Whether to render using [GitHub Flavored Markdown][gfm]
338 - `context`: The project context to use when `gfm` is true, which
339 takes the form of `username/project`
f0611b3 Joe Esposito Update API section in README.
authored
340 - `username`: The user to authenticate with GitHub to extend the API limit
341 - `password`: The password to authenticate with GitHub to extend the API limit
515a1e6 Joe Esposito Remove --render-offline from release until fixed.
authored
342 - `render_offline`: Whether to render offline using [Python-Markdown][] (Note: this is a work in progress)
76b67ec Joe Esposito Remove 'Note' from render_wide docs so the text fits.
authored
343 - `render_wide`: Whether to render a wide page, `False` by default (this has no effect when used with `gfm`)
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
344 - `render_inline`: Whether to inline the styles within the HTML file
345 - `text`: A string or stream of Markdown text to render instead of being loaded from `path` (Note: `path` can be used to set the page title)
f0611b3 Joe Esposito Update API section in README.
authored
346
681170f Joe Esposito Readme: Document remaining functions.
authored
347
fdb89cc Joe Esposito Fix --export and add resolve_readme to the API.
authored
348 #### resolve_readme
349
350 Returns the path if it's a file; otherwise, looks for a compatible README file
351 in the directory specified by path. If path is None, the current working
352 directory is used. If no compatible README can be found, ValueError is raised.
353
354 ```python
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
355 resolve_readme(path=None, force=False)
fdb89cc Joe Esposito Fix --export and add resolve_readme to the API.
authored
356 ```
357
358 - `path`: The filename to render, or the directory containing your Readme file, defaulting to the current working directory
818f1de Joe Esposito Rewrite rendering code to re-use the Flask app, and adjust API according...
authored
359 - `force`: Whether to force a result, even when a readme file is not found
fdb89cc Joe Esposito Fix --export and add resolve_readme to the API.
authored
360
361
f400895 Joe Esposito Add --clear to clear the cache.
authored
362 #### clear_cache
363
f25740b Joe Esposito Fix clear_cache docs and add docstring.
authored
364 Clears the cached styles and assets.
f400895 Joe Esposito Add --clear to clear the cache.
authored
365
366 ```python
367 clear_cache()
368 ```
369
370
8b2afa4 Joe Esposito Extract default filename constants:
authored
371 #### supported_extensions
372
373 The supported extensions, as defined by [GitHub][markdown].
374
375 ```python
376 supported_extensions = ['.md', '.markdown']
377 ```
378
379
648a765 Joe Esposito Readme: Document constants.
authored
380 #### default_filenames
381
8b2afa4 Joe Esposito Extract default filename constants:
authored
382 This constant contains the names Grip looks for when no file is provided.
648a765 Joe Esposito Readme: Document constants.
authored
383
384 ```python
8b2afa4 Joe Esposito Extract default filename constants:
authored
385 default_filenames = map(lambda ext: 'README' + ext, supported_extensions)
648a765 Joe Esposito Readme: Document constants.
authored
386 ```
387
681170f Joe Esposito Readme: Document remaining functions.
authored
388
b458663 Joe Esposito Readme: Add 'contributing' section.
authored
389 Contributing
390 ------------
391
392 1. Check the open issues or open a new issue to start a discussion around
393 your feature idea or the bug you found
d44a0bd Joe Esposito Remind authors to add themselves to AUTHORS.md.
authored
394 2. Fork the repository, make your changes, and add yourself to [Authors.md][]
b458663 Joe Esposito Readme: Add 'contributing' section.
authored
395 3. Send a pull request
396
aa51f4d Joe Esposito Add support and contact info.
authored
397 If your PR has been waiting a while, feel free to [ping me on Twitter][twitter].
398
399 Use this software often? Please consider supporting me on
5625e40 Joe Esposito Reflect the Gittip rename to Gratipay.
authored
400 <a href="http://gratipay.com/joeyespo" title="Thank you!">
401 <img align="center" style="margin-bottom:1px" src="http://joeyespo.com/images/gratipay-button.png" alt="Gratipay">
aa51f4d Joe Esposito Add support and contact info.
authored
402 </a>
403
b458663 Joe Esposito Readme: Add 'contributing' section.
authored
404
ad20298 Joe Esposito Add badges.
authored
405 [pypi]: http://pypi.python.org/pypi/grip/
643ab19 Joe Esposito Readme: reword Github 'markup' to 'markdown'.
authored
406 [markdown]: http://developer.github.com/v3/markdown
c23eace Joe Esposito README cleanup.
authored
407 [rdd]: http://tom.preston-werner.com/2010/08/23/readme-driven-development.html
408 [authors.md]: AUTHORS.md
b13d18b Joe Esposito README: Refer to the offline rendering branch in the Access section.
authored
409 [fix-render-offline]: http://github.com/joeyespo/grip/tree/fix-render-offline
648a0a4 Joe Esposito Document using tokens with --pass, add security concern to README, and l...
authored
410 [personal access token]: https://github.com/settings/tokens/new?scopes=
411 [keychain-access]: https://gist.github.com/klmr/3840aa3c12f947e4064c
9435ca6 Joe Esposito Add Known Issues section.
authored
412 [task-lists]: https://github.com/blog/1825-task-lists-in-all-markdown-documents
ed5eb92 Joe Esposito Add note about relative URLs, using AUTHORS.md.
authored
413 [gfm]: http://github.github.com/github-flavored-markdown
c23eace Joe Esposito README cleanup.
authored
414 [python-markdown]: http://github.com/waylan/Python-Markdown
aa51f4d Joe Esposito Add support and contact info.
authored
415 [twitter]: http://twitter.com/joeyespo
Something went wrong with that request. Please try again.