Commit dcc0cd3d authored by Arnaud Fabre's avatar Arnaud Fabre
Browse files

Improves frontend management

- Move static files from core app to root
- Uses bower to manage front-end 3rd parties libs
- Uses gulp to build front-end
parent 5f05fd12
"directory": "core/static/libs"
"directory": "static/libs"
# SASS Cache
# libs
# compiled css
# Emacs backup
# From
# settings
# Byte-compiled / optimized / DLL files
# C extensions
# Distribution / packaging
# Installer logs
# Unit test / coverage reports
# Translations
# Django stuff:
font-family: 'propagandaregular';
src: url('../font/propagan-webfont.eot');
src: url('../font/propagan-webfont.eot?#iefix') format('embedded-opentype'), url('../font/propagan-webfont.woff') format('woff'), url('../font/propagan-webfont.ttf') format('truetype'), url('../font/propagan-webfont.svg#propagandaregular') format('svg');
font-weight: normal;
font-style: normal;
font-family: 'sansus_webissimoitalic';
src: url('../font/sansus_webissimo-italic-webfont-webfont.eot');
src: url('../font/sansus_webissimo-italic-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../font/sansus_webissimo-italic-webfont-webfont.woff') format('woff'), url('../font/sansus_webissimo-italic-webfont-webfont.ttf') format('truetype'), url('../font/sansus_webissimo-italic-webfont-webfont.svg#sansus_webissimoitalic') format('svg');
font-weight: normal;
font-style: normal;
font-family: 'sansus_webissimoregular';
src: url('../font/sansus_webissimo-regular-webfont-webfont.eot');
src: url('../font/sansus_webissimo-regular-webfont-webfont.eot?#iefix') format('embedded-opentype'), url('../font/sansus_webissimo-regular-webfont-webfont.woff') format('woff'), url('../font/sansus_webissimo-regular-webfont-webfont.ttf') format('truetype'), url('../font/sansus_webissimo-regular-webfont-webfont.svg#sansus_webissimoregular') format('svg');
font-weight: normal;
font-style: normal;
td {
vertical-align: middle;
body {
background-color: #E5E5E5;
font-family: "Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;
font-size: 14px;
line-height: 1;
#header {
padding: 0px 20px;
height: 78px;
line-height: 45px;
.row {
width: 940px;
max-width: 100%;
min-width: 768px;
margin: 0px auto;
#header, #footer {
background: none repeat scroll 0px 0px #5B8EDC;
color: #FFF;
vertical-align: middle;
#header img {
float: left;
width: 74px;
#header h1 {
margin: 0px;
h1 {
font-size: 44px;
#header h1 a {
line-height: 10px;
font-family: propagandaregular;
font-size: 26px;
#header a {
color: #FFF;
text-decoration: none;
#header p {
font-style: italic;
padding-left: 20px;
margin-bottom: 17px;
p {
font-family: "Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;
font-weight: normal;
font-size: 14px;
line-height: 1.6;
margin-bottom: 17px;
.nav-bar {
margin-top: 0px;
background-color: #FFF;
border-bottom: 1px solid #EEE;
height: 30px;
line-height: 30px;
height: 40px;
padding: 0px;
.nav-bar > li {
float: left;
display: block;
position: relative;
padding: 0px;
margin: 0px;
line-height: 38px;
.nav-bar > li > a {
padding: 0px 20px;
font-size: 14px;
text-decoration: none;
color: #000;
li {
text-decoration: none;
list-style: inside;
.panel. {
background: none repeat scroll 0% 0% #5B8EDC;
color: #FFF;
border-color: #2284A1;
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5) inset;
.panel {
background: none repeat scroll 0% 0% #F2F2F2;
border: 1px solid #E6E6E6;
margin: 0px 20px 22px;
padding: 20px;
h1, h2, h3, h4, h5, h6 {
font-family: "Helvetica Neue","Helvetica",Helvetica,Arial,sans-serif;
font-weight: bold;
color: #222;
text-rendering: optimizelegibility;
line-height: 1.1;
margin-bottom: 14px;
margin-top: 14px;
h2, h3, h4 {
font-family: sansus_webissimoregular;
h2 { font-size: 2em; }
h3 { font-size: 1.5em; }
h3 small { font-size: 0.6em; }
.column, .columns {
float: left;
min-height: 1px;
padding: 0px 0px;
position: relative;
.large-12.main {
background: white;
padding: 10px;
width: 920px;
.large-8 {
width: 66.6667%;
} .large-4 {
width: 33.3333%;
#footer {
padding: 20px 0px;
text-align: center;
line-height: 20px;
font-size: 14px;
#footer ul {
margin-bottom: 11px;
#footer li {
display: inline;
#footer a {
color: #FFF;
text-decoration: underline;
- extends "base.html"
- block content
Actually Memopol is reachable only in <b>reduced functionality mode</b>.
By the way, you could access to <a href="{% url 'legislature:representative_index' %}">the actual list of MEPs</a>.
Memopol is reachable only in <b>reduced functionality mode</b>.
By the way, you could access to
<a href="{% url 'legislature:representative_index' %}">the list of MEPs</a>.
You can help on building the new Memopol by <a href="">coding, translating, de signing, funding, etc...</a>.
<a href="">Memopol Blog</a> is available as well as the new <a href="">bugtracking system</a>
- include "core/blocks/what_is_memopol.html"
<a href="">Memopol Blog</a> is available as well as the new
<a href="">
bugtracking system</a>
What is memopol?
Political Memory is a tool designed by La Quadrature du Net to help
European citizens to reach members of European Parliament (MEPs) and
track their voting records on issues related to fundamental
freedoms online. <em><a href="">More...</a></em>
var gulp = require('gulp');
var less = require('gulp-less');
var watch = require('gulp-watch');
var minifycss = require('gulp-minify-css');
var rename = require('gulp-rename');
var gzip = require('gulp-gzip');
var livereload = require('gulp-livereload');
var gzip_options = {
threshold: '1kb',
gzipOptions: {
level: 9
var less_src = 'static/less/*.less';
/* Compile Our Sass */
gulp.task('less', function() {
return gulp.src(less_src)
.pipe(rename({suffix: '.min'}))
// .pipe(gzip(gzip_options))
// .pipe(gulp.dest('static/stylesheets'))
/* Watch Files For Changes */
gulp.task('watch', function() {
livereload.listen();, ['less']);
/* Trigger a live reload on any Django template changes */'**/templates/*').on('change', livereload.changed);
gulp.task('default', ['less', 'watch']);
......@@ -163,10 +163,13 @@ COMPRESS_ROOT = 'static/'
# other finders..
# Compressor finder
# Use compressor even in debug
# ('text/coffeescript', 'coffee --compile --stdio'),
('text/less', 'lessc {infile} {outfile}'),
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment