mirror of
https://github.com/wassname/cookiecutter-data-science.git
synced 2026-07-28 11:18:43 +08:00
Deployed e22c6c3 with MkDocs version: 0.17.3
This commit is contained in:
@@ -1,168 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="A project template and directory structure for Python data science projects.">
|
||||
<link rel="shortcut icon" href="./favicon.ico">
|
||||
|
||||
<title>Cookiecutter Data Science</title>
|
||||
|
||||
<link href="./css/bootstrap-custom.min.css" rel="stylesheet">
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.018/css/hack.min.css">
|
||||
<link href='//fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,600,700&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
<link href="./css/base.css" rel="stylesheet">
|
||||
<link href="./css/cinder.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="./css/highlight.css">
|
||||
|
||||
|
||||
<link href="./css/extra.css" rel="stylesheet">
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js"></script>
|
||||
<script>
|
||||
WebFont.load({
|
||||
google: {
|
||||
families: ['Open Sans', 'PT Sans']
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-54096005-4', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
|
||||
<!-- Collapsed navigation -->
|
||||
<div class="navbar-header">
|
||||
|
||||
<!-- Expander button -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
|
||||
|
||||
<!-- Main title -->
|
||||
<a class="navbar-brand" href=".">Cookiecutter Data Science</a>
|
||||
</div>
|
||||
|
||||
<!-- Expanded navigation -->
|
||||
<div class="navbar-collapse collapse">
|
||||
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/drivendata/cookiecutter-data-science">
|
||||
|
||||
<i class="fa fa-github"></i>
|
||||
|
||||
GitHub
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
|
||||
|
||||
<div class="row-fluid">
|
||||
<div id="main-content" class="span12">
|
||||
<h1 id="404-page-not-found" style="text-align: center">404</h1>
|
||||
<p style="text-align: center"><strong>Page not found</strong></p>
|
||||
<p style="text-align: center"><a href=".">Home</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="col-md-12 text-center">
|
||||
<hr>
|
||||
<p>
|
||||
<small>Project maintained by the friendly folks at <a target=_blanks href="https://www.drivendata.org">DrivenData</a>.<br></small>
|
||||
|
||||
<small>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p></small>
|
||||
</footer>
|
||||
|
||||
<script src="./js/jquery-1.10.2.min.js"></script>
|
||||
<script src="./js/bootstrap-3.0.3.min.js"></script>
|
||||
<script src="./js/highlight.pack.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
<script>
|
||||
var base_url = '.';
|
||||
</script>
|
||||
<script data-main="./mkdocs/js/search.js" src="./mkdocs/js/require.js"></script>
|
||||
<script src="./js/base.js"></script>
|
||||
|
||||
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span aria-hidden="true">×</span>
|
||||
<span class="sr-only">Close</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="exampleModalLabel">Search</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
From here you can search these documents. Enter your search terms below.
|
||||
</p>
|
||||
<form role="form">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
|
||||
</div>
|
||||
</form>
|
||||
<div id="mkdocs-search-results"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Binary file not shown.
@@ -1,130 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">{% if page_description %}
|
||||
<meta name="description" content="{{ page_description }}">{% endif %} {% if site_author %}
|
||||
<meta name="author" content="{{ site_author }}">{% endif %} {% if canonical_url %}
|
||||
<link rel="canonical" href="{{ canonical_url }}">{% endif %} {% if favicon %}
|
||||
<link rel="shortcut icon" href="{{ base_url }}/{{ favicon }}">{% else %}
|
||||
<link rel="shortcut icon" href="{{ base_url }}/img/favicon.ico">{% endif %}
|
||||
|
||||
<title>{% if page_title %}{{ page_title }} - {% endif %}{{ site_name }}</title>
|
||||
|
||||
<link href="{{ base_url }}/css/bootstrap-custom.min.css" rel="stylesheet">
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.018/css/hack.min.css">
|
||||
<link href='//fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,600,700&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
<link href="{{ base_url }}/css/base.css" rel="stylesheet">
|
||||
<link href="{{ base_url }}/css/cinder.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{{ base_url }}/css/highlight.css">{%- for path in extra_css %}
|
||||
|
||||
|
||||
<link href="{{ path }}" rel="stylesheet">{%- endfor %}
|
||||
|
||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js"></script>
|
||||
<script>
|
||||
WebFont.load({
|
||||
google: {
|
||||
families: ['Open Sans', 'PT Sans']
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
{% if google_analytics %}
|
||||
<script>
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', '{{ google_analytics[0] }}', '{{ google_analytics[1] }}');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
{% endif %}
|
||||
</head>
|
||||
|
||||
<body{% if current_page and current_page.is_homepage %} class="homepage" {% endif %}>
|
||||
|
||||
{% include "nav.html" %}
|
||||
|
||||
<div class="container">
|
||||
{% block content %}
|
||||
<div class="col-md-3">{% include "toc.html" %}</div>
|
||||
<div class="col-md-9" role="main">{% include "content.html" %}</div>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<footer class="col-md-12 text-center">
|
||||
<hr>
|
||||
<p>{% if copyright %}
|
||||
<small>{{ copyright }}<br></small>
|
||||
{% endif %}
|
||||
<small>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</p></small>
|
||||
</footer>
|
||||
|
||||
<script src="{{ base_url }}/js/jquery-1.10.2.min.js"></script>
|
||||
<script src="{{ base_url }}/js/bootstrap-3.0.3.min.js"></script>
|
||||
<script src="{{ base_url }}/js/highlight.pack.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
<script>
|
||||
var base_url = '{{ base_url }}';
|
||||
</script>
|
||||
<script data-main="{{ base_url }}/mkdocs/js/search.js" src="{{ base_url }}/mkdocs/js/require.js"></script>
|
||||
<script src="{{ base_url }}/js/base.js"></script>
|
||||
{%- for path in extra_javascript %}
|
||||
<script src="{{ path }}"></script>
|
||||
{%- endfor %}
|
||||
|
||||
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span aria-hidden="true">×</span>
|
||||
<span class="sr-only">Close</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="exampleModalLabel">Search</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>
|
||||
From here you can search these documents. Enter your search terms below.
|
||||
</p>
|
||||
<form role="form">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search..." id="mkdocs-search-query">
|
||||
</div>
|
||||
</form>
|
||||
<div id="mkdocs-search-results"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
{% if current_page and current_page.is_homepage %}
|
||||
<!--
|
||||
MkDocs version : {{ mkdocs_version }}
|
||||
Build Date UTC : {{ build_date_utc }}
|
||||
-->
|
||||
{% endif %}
|
||||
@@ -1,9 +0,0 @@
|
||||
{% if meta.source %}
|
||||
<div class="source-links">
|
||||
{% for filename in meta.source %}
|
||||
<span class="label label-primary">{{ filename }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{{ content }}
|
||||
@@ -9,6 +9,11 @@ h1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id
|
||||
height: 75px;
|
||||
}
|
||||
|
||||
p > img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
ul.nav li.first-level {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
Executable → Regular
Executable → Regular
|
Before Width: | Height: | Size: 197 KiB After Width: | Height: | Size: 197 KiB |
Executable → Regular
Executable → Regular
+39
-79
@@ -5,13 +5,13 @@
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="A project template and directory structure for Python data science projects.">
|
||||
<link rel="shortcut icon" href="./favicon.ico">
|
||||
<meta name="description" content="A project template and directory structure for Python data science projects.">
|
||||
<link rel="shortcut icon" href="./img/favicon.ico">
|
||||
|
||||
<title>Cookiecutter Data Science</title>
|
||||
<title>Home - Cookiecutter Data Science</title>
|
||||
|
||||
<link href="./css/bootstrap-custom.min.css" rel="stylesheet">
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.018/css/hack.min.css">
|
||||
<link href='//fonts.googleapis.com/css?family=PT+Sans:400,400italic,700,700italic&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
<link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,600,700&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
|
||||
@@ -38,23 +38,6 @@
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
(function(i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function() {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-54096005-4', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="homepage" >
|
||||
@@ -64,7 +47,6 @@
|
||||
|
||||
<!-- Collapsed navigation -->
|
||||
<div class="navbar-header">
|
||||
|
||||
<!-- Expander button -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
@@ -75,30 +57,22 @@
|
||||
|
||||
|
||||
<!-- Main title -->
|
||||
|
||||
<a class="navbar-brand" href=".">Cookiecutter Data Science</a>
|
||||
</div>
|
||||
|
||||
<!-- Expanded navigation -->
|
||||
<div class="navbar-collapse collapse">
|
||||
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/drivendata/cookiecutter-data-science">
|
||||
|
||||
<i class="fa fa-github"></i>
|
||||
|
||||
GitHub
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/drivendata/cookiecutter-data-science/edit/master/docs/index.md"><i class="fa fa-github"></i> Edit on GitHub</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -108,52 +82,31 @@
|
||||
|
||||
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
|
||||
<ul class="nav bs-sidenav">
|
||||
|
||||
<li class="first-level active"><a href="#cookiecutter-data-science">Cookiecutter Data Science</a></li>
|
||||
|
||||
<li class="second-level"><a href="#why-use-this-project-structure">Why use this project structure?</a></li>
|
||||
|
||||
|
||||
<li class="third-level"><a href="#other-people-will-thank-you">Other people will thank you</a></li>
|
||||
|
||||
<li class="third-level"><a href="#you-will-thank-you">You will thank you</a></li>
|
||||
|
||||
<li class="third-level"><a href="#nothing-here-is-binding">Nothing here is binding</a></li>
|
||||
|
||||
|
||||
<li class="second-level"><a href="#getting-started">Getting started</a></li>
|
||||
|
||||
|
||||
<li class="third-level"><a href="#requirements">Requirements</a></li>
|
||||
|
||||
<li class="third-level"><a href="#starting-a-new-project">Starting a new project</a></li>
|
||||
|
||||
<li class="third-level"><a href="#example">Example</a></li>
|
||||
|
||||
|
||||
<li class="second-level"><a href="#directory-structure">Directory structure</a></li>
|
||||
|
||||
|
||||
|
||||
<li class="second-level"><a href="#opinions">Opinions</a></li>
|
||||
|
||||
|
||||
<li class="third-level"><a href="#data-is-immutable">Data is immutable</a></li>
|
||||
|
||||
<li class="third-level"><a href="#notebooks-are-for-exploration-and-communication">Notebooks are for exploration and communication</a></li>
|
||||
|
||||
<li class="third-level"><a href="#analysis-is-a-dag">Analysis is a DAG</a></li>
|
||||
|
||||
<li class="third-level"><a href="#build-from-the-environment-up">Build from the environment up</a></li>
|
||||
|
||||
<li class="third-level"><a href="#keep-secrets-and-configuration-out-of-version-control">Keep secrets and configuration out of version control</a></li>
|
||||
|
||||
<li class="third-level"><a href="#be-conservative-in-changing-the-default-folder-structure">Be conservative in changing the default folder structure</a></li>
|
||||
|
||||
|
||||
<li class="second-level"><a href="#contributing">Contributing</a></li>
|
||||
|
||||
|
||||
|
||||
<li class="second-level"><a href="#links-to-related-projects-and-references">Links to related projects and references</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
</div></div>
|
||||
<div class="col-md-9" role="main">
|
||||
@@ -240,6 +193,7 @@
|
||||
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
|
||||
│ generated with `pip freeze > requirements.txt`
|
||||
│
|
||||
├── setup.py <- Make this project pip installable with `pip install -e`
|
||||
├── src <- Source code for use in this project.
|
||||
│ ├── __init__.py <- Makes src a Python module
|
||||
│ │
|
||||
@@ -273,25 +227,17 @@
|
||||
<p>Follow a naming convention that shows the owner and the order the analysis was done in. We use the format <code><step>-<ghuser>-<description>.ipynb</code> (e.g., <code>0.3-bull-visualize-distributions.ipynb</code>).</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Refactor the good parts. Don't write code to do the same task in multiple notebooks. If it's a data preprocessing task, put it in the pipeline at <code>src/data/make_dataset.py</code> and load data from <code>data/interim</code>. If it's useful utility code, refactor it to <code>src</code> and import it into notebooks with a cell like the following. If updating the system path is icky to you, we'd recommend making a Python package (there is a <a href="https://github.com/audreyr/cookiecutter-pypackage">cookiecutter for that</a> as well) and installing that as an editable package with <code>pip install -e</code>.</p>
|
||||
<p>Refactor the good parts. Don't write code to do the same task in multiple notebooks. If it's a data preprocessing task, put it in the pipeline at <code>src/data/make_dataset.py</code> and load data from <code>data/interim</code>. If it's useful utility code, refactor it to <code>src</code>.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<pre><code># Load the "autoreload" extension
|
||||
<p>Now by default we turn the project into a Python package (see the <code>setup.py</code> file). You can import your code and use it in notebooks with a cell like the following:</p>
|
||||
<pre><code># OPTIONAL: Load the "autoreload" extension so that code can change
|
||||
%load_ext autoreload
|
||||
|
||||
# always reload modules marked with "%aimport"
|
||||
%autoreload 1
|
||||
# OPTIONAL: always reload modules so that as you change code in src, it gets loaded
|
||||
%autoreload 2
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# add the 'src' directory as one where we can import modules
|
||||
src_dir = os.path.join(os.getcwd(), os.pardir, 'src')
|
||||
sys.path.append(src_dir)
|
||||
|
||||
# import my method from the source code
|
||||
%aimport preprocess.build_features
|
||||
from preprocess.build_features import remove_invalid_data
|
||||
from src.data import make_dataset
|
||||
</code></pre>
|
||||
|
||||
<h3 id="analysis-is-a-dag">Analysis is a DAG</h3>
|
||||
@@ -334,6 +280,18 @@ database_url = os.environ.get("DATABASE_URL")
|
||||
other_variable = os.environ.get("OTHER_VARIABLE")
|
||||
</code></pre>
|
||||
|
||||
<h4 id="aws-cli-configuration">AWS CLI configuration</h4>
|
||||
<p>When using Amazon S3 to store data, a simple method of managing AWS access is to set your access keys to environment variables. However, managing mutiple sets of keys on a single machine (e.g. when working on multiple projects) it is best to use a <a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html">credentials file</a>, typically located in <code>~/.aws/credentials</code>. A typical file might look like:</p>
|
||||
<pre><code>[default]
|
||||
aws_access_key_id=myaccesskey
|
||||
aws_secret_access_key=mysecretkey
|
||||
|
||||
[another_project]
|
||||
aws_access_key_id=myprojectaccesskey
|
||||
aws_secret_access_key=myprojectsecretkey
|
||||
</code></pre>
|
||||
|
||||
<p>You can add the profile name when initialising a project; assuming no applicable environment variables are set, the profile credentials will be used be default.</p>
|
||||
<h3 id="be-conservative-in-changing-the-default-folder-structure">Be conservative in changing the default folder structure</h3>
|
||||
<p>To keep this structure broadly applicable for many different kinds of projects, we think the best approach is to be liberal in changing the folders around for <em>your</em> project, but be conservative in changing the default structure for <em>all</em> projects.</p>
|
||||
<p>We've created a <span class="label label-info">folder-layout</span> label specifically for issues proposing to add, subtract, rename, or move folders around. More generally, we've also created a <span class="label label-warning">needs-discussion</span> label for issues that should have some careful discussion and broad support before being implemented.</p>
|
||||
@@ -369,6 +327,8 @@ other_variable = os.environ.get("OTHER_VARIABLE")
|
||||
</script>
|
||||
<script data-main="./mkdocs/js/search.js" src="./mkdocs/js/require.js"></script>
|
||||
<script src="./js/base.js"></script>
|
||||
<script src="./search/require.js"></script>
|
||||
<script src="./search/search.js"></script>
|
||||
|
||||
<div class="modal" id="mkdocs_search_modal" tabindex="-1" role="dialog" aria-labelledby="Search Modal" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
@@ -402,6 +362,6 @@ other_variable = os.environ.get("OTHER_VARIABLE")
|
||||
</html>
|
||||
|
||||
<!--
|
||||
MkDocs version : 0.15.3
|
||||
Build Date UTC : 2016-10-26 01:53:37.996301
|
||||
MkDocs version : 0.17.3
|
||||
Build Date UTC : 2018-04-13 23:26:04
|
||||
-->
|
||||
|
||||
Vendored
-7
File diff suppressed because one or more lines are too long
@@ -1,14 +0,0 @@
|
||||
{% if not nav_item.children %}
|
||||
<li {% if nav_item.active %}class="active"{% endif %}>
|
||||
<a href="{{ nav_item.url }}">{{ nav_item.title }}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="dropdown-submenu">
|
||||
<a tabindex="-1" href="">{{ nav_item.title }}</a>
|
||||
<ul class="dropdown-menu">
|
||||
{% for nav_item in nav_item.children %}
|
||||
{% include "nav-sub.html" %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endif %}
|
||||
@@ -1,77 +0,0 @@
|
||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
|
||||
<!-- Collapsed navigation -->
|
||||
<div class="navbar-header">
|
||||
{% if include_nav or include_next_prev or repo_url %}
|
||||
<!-- Expander button -->
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{% endif %}
|
||||
|
||||
<!-- Main title -->
|
||||
<a class="navbar-brand" href="{{ homepage_url }}">{{ site_name }}</a>
|
||||
</div>
|
||||
|
||||
<!-- Expanded navigation -->
|
||||
<div class="navbar-collapse collapse">
|
||||
{% if include_nav %}
|
||||
<!-- Main navigation -->
|
||||
<ul class="nav navbar-nav">
|
||||
{% for nav_item in nav %}
|
||||
{% if nav_item.children %}
|
||||
<li class="dropdown{% if nav_item.active %} active{% endif %}">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ nav_item.title }} <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
{% for nav_item in nav_item.children %}
|
||||
{% include "nav-sub.html" %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% else %}
|
||||
<li {% if nav_item.active %}class="active"{% endif %}>
|
||||
<a href="{{ nav_item.url }}">{{ nav_item.title }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#" data-toggle="modal" data-target="#mkdocs_search_modal">
|
||||
<i class="fa fa-search"></i> Search
|
||||
</a>
|
||||
</li>
|
||||
{% if include_next_prev %}
|
||||
<li {% if not previous_page %}class="disabled"{% endif %}>
|
||||
<a rel="next" {% if previous_page %}href="{{ previous_page.url }}"{% endif %}>
|
||||
<i class="fa fa-arrow-left"></i> Previous
|
||||
</a>
|
||||
</li>
|
||||
<li {% if not next_page %}class="disabled"{% endif %}>
|
||||
<a rel="prev" {% if next_page %}href="{{ next_page.url }}"{% endif %}>
|
||||
Next <i class="fa fa-arrow-right"></i>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if repo_url %}
|
||||
<li>
|
||||
<a href="{{ repo_url }}">
|
||||
{% if repo_name == 'GitHub' %}
|
||||
<i class="fa fa-github"></i>
|
||||
{% elif repo_name == 'Bitbucket' %}
|
||||
<i class="fa fa-bitbucket"></i>
|
||||
{% endif %}
|
||||
{{ repo_name }}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Vendored
+7
File diff suppressed because one or more lines are too long
@@ -1,8 +1,12 @@
|
||||
require.config({
|
||||
baseUrl: base_url + "/search/"
|
||||
});
|
||||
|
||||
require([
|
||||
base_url + '/mkdocs/js/mustache.min.js',
|
||||
base_url + '/mkdocs/js/lunr-0.5.7.min.js',
|
||||
'mustache.min',
|
||||
'lunr.min',
|
||||
'text!search-results-template.mustache',
|
||||
'text!../search_index.json',
|
||||
'text!search_index.json',
|
||||
], function (Mustache, lunr, results_template, data) {
|
||||
"use strict";
|
||||
|
||||
@@ -70,7 +74,7 @@ require([
|
||||
*/
|
||||
jQuery('#mkdocs_search_modal a').click(function(){
|
||||
jQuery('#mkdocs_search_modal').modal('hide');
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
@@ -83,6 +87,6 @@ require([
|
||||
search();
|
||||
}
|
||||
|
||||
search_input.addEventListener("keyup", search);
|
||||
if (search_input){search_input.addEventListener("keyup", search);}
|
||||
|
||||
});
|
||||
File diff suppressed because one or more lines are too long
+2
-2
@@ -3,8 +3,8 @@
|
||||
|
||||
|
||||
<url>
|
||||
<loc>None/</loc>
|
||||
<lastmod>2016-10-25</lastmod>
|
||||
<loc>/</loc>
|
||||
<lastmod>2018-04-13</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
<div class="bs-sidebar hidden-print affix well" role="complementary">
|
||||
<ul class="nav bs-sidenav">
|
||||
{% for toc_item in toc %}
|
||||
<li class="first-level {% if toc_item.active %}active{% endif %}"><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li>
|
||||
{% for toc_item in toc_item.children %}
|
||||
<li class="second-level"><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li>
|
||||
{% for toc_item in toc_item.children %}
|
||||
<li class="third-level"><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
Reference in New Issue
Block a user