Merge pull request #5 from datalets/55-beta-corrections
55 beta corrections
1
.gitignore
vendored
|
@ -15,3 +15,4 @@
|
||||||
/docs/_build/
|
/docs/_build/
|
||||||
/node_modules/
|
/node_modules/
|
||||||
/publichealth/static/libs/
|
/publichealth/static/libs/
|
||||||
|
/mockup/assets/css/*.css
|
||||||
|
|
|
@ -29,7 +29,7 @@ module.exports = function(grunt) {
|
||||||
sourcemap: 'none'
|
sourcemap: 'none'
|
||||||
},
|
},
|
||||||
files: { // Dictionary of files
|
files: { // Dictionary of files
|
||||||
"publichealth/static/mockup/assets/css/main.css": "publichealth/static/css/main.scss"
|
"./assets/css/main.css": "publichealth/static/css/main.scss"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dist: {
|
dist: {
|
||||||
|
@ -38,7 +38,7 @@ module.exports = function(grunt) {
|
||||||
sourcemap: 'none'
|
sourcemap: 'none'
|
||||||
},
|
},
|
||||||
files: {
|
files: {
|
||||||
"publichealth/static/mockup/assets/css/main.min.css": "publichealth/static/css/main.scss"
|
"./assets/css/main.min.css": "publichealth/static/css/main.scss"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -58,8 +58,8 @@ module.exports = function(grunt) {
|
||||||
dev: {
|
dev: {
|
||||||
bsFiles: {
|
bsFiles: {
|
||||||
src: [
|
src: [
|
||||||
"publichealth/static/mockup/assets/css/*.css",
|
"./assets/css/*.css",
|
||||||
"publichealth/static/mockup/*.html"
|
"./*.html"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
options: {
|
options: {
|
||||||
|
|
|
@ -29,7 +29,7 @@ bower install
|
||||||
|
|
||||||
The first command (`..install -g..`) may require `sudo` if you installed node.js as a system package.
|
The first command (`..install -g..`) may require `sudo` if you installed node.js as a system package.
|
||||||
|
|
||||||
If you are only working on the frontend, you can start a local webserver and work on frontend assets without the backend setup described below. Mock content is at `publichealth/static/mockup`
|
If you are only working on the frontend, you can start a local webserver and work on frontend assets without the backend setup described below. Mock content is at `mockup`, and there is a `grunt browser-sync` setup for working with frontend assets.
|
||||||
|
|
||||||
**Backend setup**
|
**Backend setup**
|
||||||
|
|
||||||
|
@ -57,13 +57,12 @@ If you have one installed, also start your local redis server (`service redis st
|
||||||
Run this after completing setup:
|
Run this after completing setup:
|
||||||
|
|
||||||
```
|
```
|
||||||
./manage.py runserver &
|
./manage.py runserver
|
||||||
grunt browser-sync
|
|
||||||
```
|
```
|
||||||
|
|
||||||
A default browser should open pointing to the default home page.
|
A default browser should open pointing to the default home page.
|
||||||
|
|
||||||
Now access the admin panel with the user account you created earlier: http://localhost:3000/admin/
|
Now access the admin panel with the user account you created earlier: http://localhost:8000/admin/
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,10 @@ server {
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
proxy_pass http://wagtail-site;
|
proxy_pass http://wagtail-site;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location /logicio/pmws/ {
|
||||||
|
return 301 /;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO: parameterize
|
# TODO: parameterize
|
||||||
|
|
5423
config.codekit3
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 382 KiB After Width: | Height: | Size: 382 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
{% if articles|length is 1 %}
|
{% if articles|length is 1 %}
|
||||||
|
|
||||||
<section id="news-details">
|
<section id="news-details" class="article-index-page">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{% for page in articles %}
|
{% for page in articles %}
|
||||||
{% include 'home/page_content.html' %}
|
{% include 'home/page_content.html' %}
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
||||||
<section id="article-index">
|
<section id="article-index" class="article-index-page">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2>{{ page.trans_title }}</h2>
|
<h2>{{ page.trans_title }}</h2>
|
||||||
<p class="lead">{{ page.trans_intro|richtext }}</p>
|
<p class="lead">{{ page.trans_intro|richtext }}</p>
|
||||||
|
@ -50,7 +50,6 @@
|
||||||
<h3>{{ block.trans_title }}</h3>
|
<h3>{{ block.trans_title }}</h3>
|
||||||
</header>
|
</header>
|
||||||
</a>
|
</a>
|
||||||
{{ block.trans_intro|richtext }}
|
|
||||||
</article>
|
</article>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
{% block body_class %}template-{{ self.get_verbose_name|slugify }}{% endblock %}
|
{% block body_class %}template-{{ self.get_verbose_name|slugify }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<section id="news-details">
|
<section id="news-details" class="article-page">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
{% include 'home/page_content.html' %}
|
{% include 'home/page_content.html' %}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
<h1 class="title">{{ page.trans_title }}</h1>
|
<h1 class="title">{{ page.trans_title }}</h1>
|
||||||
|
|
||||||
<p class="lead">{{ page.trans_intro|richtext }}</p>
|
<div class="lead">{{ page.trans_intro|richtext }}</div>
|
||||||
|
|
||||||
{% if page.date %}
|
{% if page.date %}
|
||||||
<p class="date">{{ page.date }}</p>
|
<p class="date">{{ page.date }}</p>
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
<form action="https://formspree.io/{{ contact.email }}" method="POST">
|
<form action="mailto:{{ contact.email }}" enctype="text/plain" method="GET">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input name="name" id="name" type="text" placeholder="Name / Nom" class="form-control">
|
<input name="name" id="name" type="text" placeholder="Name / Nom" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<!--<div class="form-group">
|
||||||
<input name="_replyto" id="email" type="email" placeholder="E-Mail" class="form-control">
|
<input name="_replyto" id="email" type="email" placeholder="E-Mail" class="form-control">
|
||||||
</div>
|
</div>-->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<textarea name="message" id="message" rows="3" placeholder="" class="form-control"></textarea>
|
<textarea name="message" id="message" rows="3" placeholder="" class="form-control"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,7 +8,7 @@ register = template.Library()
|
||||||
@register.inclusion_tag('tags/language.html', takes_context=True)
|
@register.inclusion_tag('tags/language.html', takes_context=True)
|
||||||
def language_switcher(context):
|
def language_switcher(context):
|
||||||
url = context['page'].url.split('/')
|
url = context['page'].url.split('/')
|
||||||
if len(url) > 2 and len(url[1]) == 2:
|
if len(url) > 2 and len(url[1]) >= 2:
|
||||||
url[1] = '$lang$'
|
url[1] = '$lang$'
|
||||||
url = '/'.join(url)
|
url = '/'.join(url)
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -26,11 +26,15 @@ section {
|
||||||
.article-body > div {
|
.article-body > div {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
.infoblocks article:nth-child(3n+0) {
|
||||||
.infoblocks article:nth-child(4) {
|
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Special article layout
|
||||||
|
.article-page .lead {
|
||||||
|
h2,h3,h4,h5 { text-align: center; }
|
||||||
|
}
|
||||||
|
|
||||||
// Responsive image/video classes
|
// Responsive image/video classes
|
||||||
.rich-text img {
|
.rich-text img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|
|
@ -5,7 +5,7 @@ footer#footer {
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: lighten($brand-secondary, 10%);
|
color: lighten($brand-secondary, 25%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
form {
|
form {
|
||||||
label {
|
label {
|
||||||
width: 15em;
|
width: 15em;
|
||||||
border-bottom: 1px dashed #ccc;
|
border-bottom: 1px dashed $gray-light;
|
||||||
line-height: 166%;
|
line-height: 166%;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,10 @@
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 90%;
|
font-size: 90%;
|
||||||
}
|
}
|
||||||
|
input[type='text'], textarea {
|
||||||
|
border: 1px solid $gray-light;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,204 +0,0 @@
|
||||||
@charset "UTF-8";
|
|
||||||
/* Slider */
|
|
||||||
.slick-slider {
|
|
||||||
position: relative;
|
|
||||||
display: block;
|
|
||||||
box-sizing: border-box;
|
|
||||||
-webkit-touch-callout: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-khtml-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
-ms-touch-action: pan-y;
|
|
||||||
touch-action: pan-y;
|
|
||||||
-webkit-tap-highlight-color: transparent; }
|
|
||||||
|
|
||||||
.slick-list {
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
display: block;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0; }
|
|
||||||
.slick-list:focus {
|
|
||||||
outline: none; }
|
|
||||||
.slick-list.dragging {
|
|
||||||
cursor: pointer;
|
|
||||||
cursor: hand; }
|
|
||||||
|
|
||||||
.slick-slider .slick-track,
|
|
||||||
.slick-slider .slick-list {
|
|
||||||
-webkit-transform: translate3d(0, 0, 0);
|
|
||||||
-moz-transform: translate3d(0, 0, 0);
|
|
||||||
-ms-transform: translate3d(0, 0, 0);
|
|
||||||
-o-transform: translate3d(0, 0, 0);
|
|
||||||
transform: translate3d(0, 0, 0); }
|
|
||||||
|
|
||||||
.slick-track {
|
|
||||||
position: relative;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
display: block; }
|
|
||||||
.slick-track:before, .slick-track:after {
|
|
||||||
content: "";
|
|
||||||
display: table; }
|
|
||||||
.slick-track:after {
|
|
||||||
clear: both; }
|
|
||||||
.slick-loading .slick-track {
|
|
||||||
visibility: hidden; }
|
|
||||||
|
|
||||||
.slick-slide {
|
|
||||||
float: left;
|
|
||||||
height: 100%;
|
|
||||||
min-height: 1px;
|
|
||||||
display: none; }
|
|
||||||
[dir="rtl"] .slick-slide {
|
|
||||||
float: right; }
|
|
||||||
.slick-slide img {
|
|
||||||
display: block; }
|
|
||||||
.slick-slide.slick-loading img {
|
|
||||||
display: none; }
|
|
||||||
.slick-slide.dragging img {
|
|
||||||
pointer-events: none; }
|
|
||||||
.slick-initialized .slick-slide {
|
|
||||||
display: block; }
|
|
||||||
.slick-loading .slick-slide {
|
|
||||||
visibility: hidden; }
|
|
||||||
.slick-vertical .slick-slide {
|
|
||||||
display: block;
|
|
||||||
height: auto;
|
|
||||||
border: 1px solid transparent; }
|
|
||||||
|
|
||||||
.slick-arrow.slick-hidden {
|
|
||||||
display: none; }
|
|
||||||
|
|
||||||
/* Slider */
|
|
||||||
.slick-loading .slick-list {
|
|
||||||
background: #fff url("./ajax-loader.gif") center center no-repeat; }
|
|
||||||
|
|
||||||
/* Icons */
|
|
||||||
@font-face {
|
|
||||||
font-family: "slick";
|
|
||||||
src: url("../fonts/slick.eot");
|
|
||||||
src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
|
|
||||||
font-weight: normal;
|
|
||||||
font-style: normal; }
|
|
||||||
|
|
||||||
/* Arrows */
|
|
||||||
.slick-prev,
|
|
||||||
.slick-next {
|
|
||||||
z-index: 1;
|
|
||||||
position: absolute;
|
|
||||||
display: block;
|
|
||||||
height: 30px;
|
|
||||||
width: 30px;
|
|
||||||
line-height: 0px;
|
|
||||||
font-size: 0px;
|
|
||||||
cursor: pointer;
|
|
||||||
background: transparent;
|
|
||||||
color: transparent;
|
|
||||||
top: 50%;
|
|
||||||
-webkit-transform: translate(0, -50%);
|
|
||||||
-ms-transform: translate(0, -50%);
|
|
||||||
transform: translate(0, -50%);
|
|
||||||
padding: 0;
|
|
||||||
border: none;
|
|
||||||
outline: none; }
|
|
||||||
.slick-prev:hover, .slick-prev:focus,
|
|
||||||
.slick-next:hover,
|
|
||||||
.slick-next:focus {
|
|
||||||
outline: none;
|
|
||||||
background: transparent;
|
|
||||||
color: transparent; }
|
|
||||||
.slick-prev:hover:before, .slick-prev:focus:before,
|
|
||||||
.slick-next:hover:before,
|
|
||||||
.slick-next:focus:before {
|
|
||||||
opacity: 1; }
|
|
||||||
.slick-prev.slick-disabled:before,
|
|
||||||
.slick-next.slick-disabled:before {
|
|
||||||
opacity: 0.25; }
|
|
||||||
.slick-prev:before,
|
|
||||||
.slick-next:before {
|
|
||||||
font-family: "slick";
|
|
||||||
font-size: 30px;
|
|
||||||
line-height: 1;
|
|
||||||
color: white;
|
|
||||||
opacity: 0.75;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale; }
|
|
||||||
|
|
||||||
.slick-prev {
|
|
||||||
left: 25px; }
|
|
||||||
[dir="rtl"] .slick-prev {
|
|
||||||
left: auto;
|
|
||||||
right: -25px; }
|
|
||||||
.slick-prev:before {
|
|
||||||
content: "←"; }
|
|
||||||
[dir="rtl"] .slick-prev:before {
|
|
||||||
content: "→"; }
|
|
||||||
|
|
||||||
.slick-next {
|
|
||||||
right: 25px; }
|
|
||||||
[dir="rtl"] .slick-next {
|
|
||||||
left: -25px;
|
|
||||||
right: auto; }
|
|
||||||
.slick-next:before {
|
|
||||||
content: "→"; }
|
|
||||||
[dir="rtl"] .slick-next:before {
|
|
||||||
content: "←"; }
|
|
||||||
|
|
||||||
/* Dots */
|
|
||||||
.slick-dotted.slick-slider {
|
|
||||||
margin-bottom: 30px; }
|
|
||||||
|
|
||||||
.slick-dots {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -25px;
|
|
||||||
list-style: none;
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
width: 100%; }
|
|
||||||
.slick-dots li {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
height: 20px;
|
|
||||||
width: 20px;
|
|
||||||
margin: 0 5px;
|
|
||||||
padding: 0;
|
|
||||||
cursor: pointer; }
|
|
||||||
.slick-dots li button {
|
|
||||||
border: 0;
|
|
||||||
background: transparent;
|
|
||||||
display: block;
|
|
||||||
height: 20px;
|
|
||||||
width: 20px;
|
|
||||||
outline: none;
|
|
||||||
line-height: 0px;
|
|
||||||
font-size: 0px;
|
|
||||||
color: transparent;
|
|
||||||
padding: 5px;
|
|
||||||
cursor: pointer; }
|
|
||||||
.slick-dots li button:hover, .slick-dots li button:focus {
|
|
||||||
outline: none; }
|
|
||||||
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
|
|
||||||
opacity: 1; }
|
|
||||||
.slick-dots li button:before {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
content: "•";
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
font-family: "slick";
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
opacity: 0.25;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale; }
|
|
||||||
.slick-dots li.slick-active button:before {
|
|
||||||
color: black;
|
|
||||||
opacity: 0.75; }
|
|
|
@ -5,7 +5,7 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="nav">
|
<div class="nav">
|
||||||
<span class="contact-nav">
|
<span class="contact-nav">
|
||||||
<a class="link" href="#contact">Kontakt</a>
|
<a class="link" href="#contact-info">Kontakt</a>
|
||||||
{% contact_links %}
|
{% contact_links %}
|
||||||
</span>
|
</span>
|
||||||
<span class="language-nav">
|
<span class="language-nav">
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Updated: 5.4.2017
|
# Updated: 3.5.2017
|
||||||
|
|
||||||
# Core
|
# Core
|
||||||
wagtail==1.9
|
wagtail==1.9.1
|
||||||
Django==1.10.7
|
Django==1.10.7
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
|
@ -15,12 +15,12 @@ puput==0.8
|
||||||
elasticsearch>=5.0.0,<6.0.0
|
elasticsearch>=5.0.0,<6.0.0
|
||||||
|
|
||||||
# Caching
|
# Caching
|
||||||
django-redis==4.7.0
|
django-redis==4.8.0
|
||||||
|
|
||||||
# Frontend
|
# Frontend
|
||||||
django-libsass==0.7
|
django-libsass==0.7
|
||||||
libsass==0.12.3
|
libsass==0.12.3
|
||||||
Pillow==4.1.0
|
Pillow==4.1.1
|
||||||
|
|
||||||
# Development tools
|
# Development tools
|
||||||
stellar==0.4.3
|
stellar==0.4.3
|
||||||
|
|
|
@ -54,6 +54,6 @@ cd $PROJECT_DIR
|
||||||
npm install -g bower grunt-cli
|
npm install -g bower grunt-cli
|
||||||
npm install
|
npm install
|
||||||
bower install
|
bower install
|
||||||
alias liverun="grunt browser-sync"
|
alias bower="bower install"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|