Added 'coprec' theme and initial packaging scripts/files

This commit is contained in:
Michael Bideau 2019-01-08 14:17:00 +00:00
parent 6fde95240a
commit 0e10c26099
36 changed files with 720 additions and 1 deletions

14
.gitignore vendored Normal file
View File

@ -0,0 +1,14 @@
/sdist/
/static/*/style.css
/static/*/style.css.map
/static/minint/css/styles.css
/static/minint/css/styles.css.map
/src/tmp-*.svg
.sass-cache
/static/*/_data_uris.scss
/debian/atreal-publik-themes/
/debian/atreal-publik-themes.substvars
/debian/atreal-publik-themes.debhelper.log
/debian/.debhelper/
/debian/debhelper-build-stamp
*.patch

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "publik-base-theme"]
path = publik-base-theme
url = http://git.entrouvert.org/publik-base-theme.git

55
.sass-lint.yml Normal file
View File

@ -0,0 +1,55 @@
#########################
## Sample Sass Lint File
#########################
# Linter Options
options:
# Don't merge default rules
merge-default-rules: false
# Set the formatter to 'html'
formatter: html
# Output file instead of logging results
output-file: 'linters/sass-lint.html'
# Raise an error if more than 50 warnings are generated
max-warnings: 50
# File Options
files:
include: 'static/**/*.s+(a|c)ss'
ignore:
- 'sass/vendor/**/*.*'
# Rule Configuration
rules:
extends-before-mixins: 2
extends-before-declarations: 2
placeholder-in-extend: 2
mixins-before-declarations:
- 2
-
exclude:
- breakpoint
- mq
no-warn: 1
no-debug: 1
no-ids: 1
no-important: 2
hex-notation:
- 2
-
style: uppercase
indentation:
- 2
-
size: 'tab'
property-sort-order:
- 1
-
order:
- display
- margin
ignore-custom-properties: true
variable-for-property:
- 2
-
properties:
- margin
- content

64
Makefile Normal file
View File

@ -0,0 +1,64 @@
VERSION=`git describe | sed 's/^v//; s/-/./g'`
NAME="atreal-base-theme"
prefix = /usr
all: themes.json css
themes.json: $(wildcard static/*/config.json)
python publik-base-theme/create_themes_json.py
%.css: export LC_ALL=C.UTF-8
.SECONDEXPANSION:
%.css: %.scss $$(wildcard $$(@D)/*.scss)
sass $< $@
publik-base-theme/static/includes/_data_uris.scss: $(wildcard publik-base-theme/static/includes/img/*)
cd publik-base-theme; python make_data_uris.py static/includes/
css: publik-base-theme/static/includes/_data_uris.scss publik-base-theme/static/includes/_publik.scss $(shell python publik-base-theme/get_themes.py)
rm -rf static/*/.sass-cache/
clean:
rm -f themes.json
rm -f static/*/style.css
rm -rf sdist
rm -f static/*/_data_uris.scss
rm -rf publik-base-theme/static/includes/_data_uris.scss
rm -f publik-base-theme/static/*/style.css
DIST_FILES = \
README \
Makefile \
desc.xml \
publik-base-theme \
static templates \
src
dist: clean
-mkdir sdist
rm -rf sdist/$(NAME)-$(VERSION)
mkdir -p sdist/$(NAME)-$(VERSION)
for i in $(DIST_FILES); do \
cp -R "$$i" sdist/$(NAME)-$(VERSION); \
done
install:
mkdir -p $(DESTDIR)$(prefix)/share/publik/themes/atreal
cp -r static templates themes.json desc.xml $(DESTDIR)$(prefix)/share/publik/themes/atreal
rm $(DESTDIR)$(prefix)/share/publik/themes/atreal/static/*/config.json
mkdir -p $(DESTDIR)$(prefix)/share/wcs/themes/
ln -s $(prefix)/share/publik/themes/atreal $(DESTDIR)$(prefix)/share/wcs/themes/atreal
dist-bzip2: dist
-mkdir sdist
cd sdist && tar cfj ../sdist/$(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
version:
@(echo $(VERSION))
name:
@(echo $(NAME))
fullname:
@(echo $(NAME)-$(VERSION))

125
README Normal file
View File

@ -0,0 +1,125 @@
Base theme for atReal
=====================
Variables
---------
- css_variant: this is the main variable, it is used to build the path to the
CSS file. (/static/{{css_variant}}/style.css)
- favicon: path to favicon file, relative to /static/ directory.
- logo_link_url: link to be used for the top logo, defaults to the site root.
License
-------
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU Affero General Public License for more
details.
You should have received a copy of the GNU Affero General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
This program incorporates independent elements, with their own authors and
copyright notices:
* Yanone Kaffeesatz font
# https://www.fontsquirrel.com/fonts/yanone-kaffeesatz
#
# Licensed under the SIL Open Font License, Version 1.1.
# https://www.fontsquirrel.com/license/yanone-kaffeesatz
* Ubuntu font
# https://www.fontsquirrel.com/fonts/ubuntu
#
# Licensed under the Ubuntu Font License, Version 1.0.
# https://www.fontsquirrel.com/license/ubuntu
* D-Din font
# https://www.fontsquirrel.com/fonts/d-din
#
# Licensed under the SIL Open Font License v1.10
# https://www.fontsquirrel.com/license/d-din
* Source Sans Pro
# https://www.fontsquirrel.com/fonts/source-sans-pro
#
# Licensed under the SIL Open Font License v1.10
# https://www.fontsquirrel.com/fonts/source-sans-pro
* Asap fonts
# https://www.fontsquirrel.com/fonts/asap
#
# Licensed under the SIL Open Font License v1.10
# https://www.fontsquirrel.com/fonts/asap
* Raleway font
# Copyright (c) 2010, Matt McInerney (matt@pixelspread.com),
# Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),
# Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com),
# with Reserved Font Name Raleway
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/raleway
* Oswald font
# Copyright (c) 2012, Vernon Adams (vern@newtypography.co.uk),
# with Reserved Font Name Oswald
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/oswald
* Bitter font
# Copyright (c) 2011, Sol Matas (www.huertatipografica.com.ar),
# with Reserved Font Name “Bitter”
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/bitter
* Cantarell font
# Copyright © 2009-2011, Understanding Limited <dave@understandinglimited.com>
# Copyright © 2010-2011, Jakub Steiner <jimmac@gmail.com>
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://gitlab.gnome.org/GNOME/cantarell-fonts/blob/master/COPYING
* Barlow font
# Copyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/barlow
* Titillium font
# Copyright (c) 2008-2010, Accademia di Belle Arti di Urbino
# (www.campivisivi.net|direzione@accademiadiurbino.it),
# with Reserved Font Name Titillium.
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/Titillium
* Montserrat font
# Copyright 2011 The Montserrat Project Authors
# (https://github.com/JulietaUla/Montserrat)
#
# This Font Software is licensed under the SIL Open Font License, Version 1.1.
#
# https://www.fontsquirrel.com/license/montserrat
~~~~
Some theme variant files have their own specific licenses; refer to
static/$theme/README for details.

5
debian/changelog vendored Normal file
View File

@ -0,0 +1,5 @@
atreal-publik-themes (0.1-1) unstable; urgency=low
* Initial packaging.
-- Michael Bideau <mbideau@atreal.fr> Tue, 8 Jan 2019 11:50:48 +0100

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

14
debian/control vendored Normal file
View File

@ -0,0 +1,14 @@
Source: atreal-publik-themes
Section: web
Priority: optional
Maintainer: Michael Bideau <mbideau@atreal.fr>
Build-Depends: debhelper (>= 9), ruby-sass (>= 3.4.23), wget(>= 1.16)
Standards-Version: 3.9.4
Homepage: http://git.entrouvert.org/atreal-publik-themes.git
Package: atreal-publik-themes
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends}, publik-base-theme
Conflicts: python-authentic2 (<= 2.1.20.742.gb6ee096-0)
Breaks: combo (<= 0.7.1)
Description: Publik themes for atReal

2
debian/files vendored Normal file
View File

@ -0,0 +1,2 @@
atreal-publik-themes_0.1-1_all.deb web optional
atreal-publik-themes_0.1-1_amd64.buildinfo web optional

2
debian/links vendored Normal file
View File

@ -0,0 +1,2 @@
/usr/share/publik/themes/atreal/static/coprec /usr/share/publik/themes/publik-base/static/coprec
/usr/share/publik/themes/atreal/templates/variants/coprec /usr/share/publik/themes/publik-base/templates/variants/coprec

13
debian/rules vendored Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

6
desc.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<theme name="atreal" version="1.0">
<label>atReal</label>
<desc>Theme for atReal deployments</desc>
<author>Michael Bideau</author>
</theme>

1
publik-base-theme Submodule

@ -0,0 +1 @@
Subproject commit 18ab87cabc766a7c485edf4e7c17447485db961a

218
static/coprec/_custom.scss Normal file
View File

@ -0,0 +1,218 @@
@import '../../publik-base-theme/static/includes/font-din';
#page {
}
#header #top #logo a {
background: url(img/logo.png) bottom left no-repeat;
background-size: 200px;
height: 105px;
line-height: 190px;
font-weight: normal;
display: block;
color: white;
#max-width: 200px;
padding-bottom: 20px;
position: relative;
left: -1rem;
padding-left: 230px;
@media screen and (max-width: $mobile-limit) {
padding-left: 0;
max-width: 90%;
background-size: contain;
left: 0;
text-indent: -10000px;
}
}
#page {
background-image: url(/static/coprec/img/IPC.jpg);
background-color: #f3f3f3;
background-repeat: no-repeat;
background-size: 100% 210px;
}
#header-wrapper {
background: transparent;
}
#nav-wrapper {
background: transparent;
margin-bottom: 0px;
font-size: 24px;
border-bottom: 1px solid #e0e0e0;
div.gru-nav > ul {
padding-top: 2rem;
margin-top: 0;
margin-bottom: 0px;
ul {
font-size: 18px;
}
}
div.gru-nav > ul > li a {
line-height: 2em;
}
div.gru-nav > ul > li:first-child a {
padding-left: 0;
}
}
div#main-content-wrapper {
background: white;
margin-top: 1rem;
margin-bottom: 1rem;
padding: 1rem;
box-sizing: border-box;
}
@media screen and (max-width: $mobile-limit) {
#header #top #logo a {
display: block;
height: 75px;
}
.gru-nav-wrapper {
margin-top: -48px;
}
#nav-wrapper div.gru-nav > ul {
padding-top: 0;
margin-top: 0;
}
#nav-wrapper div.gru-nav > ul > li:first-child a {
padding-left: 20px;
}
}
body.has-picture nav::after {
top: 1px;
}
div#tracking-code h3,
div#rub_service h2,
div#rub_service div.category h3,
.gru-content div.a2-block h2,
.gru-content div.block h2,
div.links-list h2,
div#services > ul > li > strong > a,
.gru-content div.textcell h2,
.gru-content div.textcell h2:first-child,
.gru-content div.cell h2:first-child {
background: transparent;
color: $font-color;
font-size: 150%;
font-weight: bold;
padding-left: 0.5rem;
text-align: left;
&::after {
display: block;
content: "";
background: $primary-color;
margin-top: 7px;
width: 40px;
height: 4px;
}
}
div.title label {
font-weight: bold;
}
div#rub_service div.dataview,
div#rub_service form.quixote {
h3 {
font-size: 130%;
border-bottom: 0;
&::after {
display: block;
content: "";
background: $primary-color;
margin-top: 7px;
width: 30px;
height: 3px;
}
}
h4 {
font-size: 130%;
font-weight: normal;
border-bottom: 1px solid #e5e5e5;
}
}
div#rub_service > h2:first-child,
.gru-content div.textcell h1 {
font-size: 60px;
text-align: center;
&::after {
content: none;
}
}
div#left div.a2-block, div#right div.a2-block,
.gru-content div.cell,
div.block {
padding: 0;
margin: 0px 10px 10px 10px;
& h2 + div {
padding: 0.5rem;
}
}
div.cell a {
border-bottom: 1px dotted $link-color;
}
#footer {
#background: url(img/blason.png) top left no-repeat;
min-height: 130px;
text-align: center;
div.cell.partners {
#float: right;
background: white;
padding: 0;
#margin: -70px 0 0 0;
text-align: center;
}
div.cell.partners img {
margin: 0 30px;
}
.partners .partner {
display: inline-block;
margin: 0 30px;
width: 110px;
height: 110px;
}
.partners .partner.apave {
background: url(/static/coprec/img/logo_Apave2-110px.jpg);
}
.partners .partner.veritas {
width: 100px;
height: 100px;
background: url(/static/coprec/img/logo_BureauVeritas2-100px.jpg);
}
.partners .partner.dekra {
background: url(/static/coprec/img/logo_Dekra2-110px.jpg);
}
.partners .partner.qualiconsult {
background: url(/static/coprec/img/logo_GroupeQualiconsult-110px.jpg);
}
.partners .partner.sgs {
background: url(/static/coprec/img/logo_SGS2-110px.jpg);
}
.partners .partner.socotec {
background: url(/static/coprec/img/logo_Socotec2-110px.jpg);
}
}
.fargo-pick-popup button,
button.ui-button,
a#a2-continue,
div.gru-content button,
input[type=submit],
div.buttons input {
box-shadow: none;
text-transform: uppercase;
font-weight: bold;
&:hover {
box-shadow: none;
}
}

35
static/coprec/_vars.scss Normal file
View File

@ -0,0 +1,35 @@
$primary-color: #00d3cc;
$width: 1140px;
$font-color: #484848;
$font-family: Din, sans-serif;
$font-size: 16px;
$nav-background: transparent;
$nav-submenu-background: #eee;
$nav-submenu-color: #333;
$nav-color: $font-color;
$nav-active-color: $primary-color;
$nav-item-selected-background: transparent;
$nav-item-hover-background: transparent;
$nav-item-selected-color: $primary-color;
$nav-item-hover-color: $nav-item-selected-color;
$border-radius: 0px;
$button-background: $primary-color;
$title-background: $primary-color;
$title-color: white;
$footer-background: white;
$footer-color: black;
$cell-border: 1px solid transparent;
$widget-border-radius: 3px;
$link-color: #0b69e1;
$button-color: white;
$button-border-radius: 5px;
$button-border: 2px solid $link-color;
$button-background: $link-color;
$button-hover-background: white;
$button-hover-color: $link-color;
$nav-item-selected-mode: bottom-border;
$nav-item-selected-border: 4px solid transparent;
$nav-item-hover-border: 4px solid $primary-color;

View File

@ -0,0 +1,8 @@
{
"label": "Coprec",
"variables": {
"favicon": "coprec/img/favicon-32x32.png",
"theme_color": "#00d3cc",
"no_extra_js": true
}
}

BIN
static/coprec/img/IPC.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

1
static/coprec/img/logo.png Symbolic link
View File

@ -0,0 +1 @@
LogoCOPREC_RVB-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

6
static/coprec/style.scss Normal file
View File

@ -0,0 +1,6 @@
@charset "UTF-8";
@import 'vars';
/*@import '../includes/publik';*/
@import '../../publik-base-theme/static/includes/publik';
@import 'custom';

View File

@ -0,0 +1,134 @@
{% extends theme_base_filename %}
{% load static i18n combo gadjo pwa %}
{% block meta_icons %}
{% if favicon %}
<link rel="shortcut icon" href="{{site_base}}{% static "" %}{{favicon}}" />
{% endif %}
{% for icon_size in icon_sizes %}
<link rel="apple-touch-icon" sizes="{{icon_size}}x{{icon_size}}"
href="{{ site_base }}{% static "" %}{{ css_variant }}/{{ icon_prefix }}{{ icon_size }}px.png">
{% endfor %}
{% endblock %}
{% block extra_top_head %}
{{ block.super }}
<script src="{{site_base}}{% xstatic 'jquery' 'jquery.min.js' %}"></script>
{% skeleton_extra_placeholder extra-top-head %}
{% end_skeleton_extra_placeholder %}
{% if page.picture %}
<style>
:root {
--page-picture: url("{{site_base}}{{page.picture.url}}");
}
</style>
{% endif %}
{% endblock %}
{% block extra_scripts %}
<script src="{{site_base}}{% static 'js/combo.public.js' %}?{% start_timestamp %}" async></script>
<script src="{{site_base}}{% static 'js/combo.back.js' %}?{% start_timestamp %}" async></script>
<script src="{{site_base}}/__services.js"></script>
{% if not no_extra_js %}
<script src="{{site_base}}{% static "" %}{{css_variant}}/extra.js?{% start_timestamp %}" async></script>
{% endif %}
{% skeleton_extra_placeholder extra-head %}
{% end_skeleton_extra_placeholder %}
{% endblock %}
{% block bodyattrs %}
data-api-root="{{ site_base }}/api/"
{% if check_badges %}data-check-badges="true"{% endif %}
{% if page.picture %}data-picture="{{site_base}}{{page.picture.url}}"{% endif %}
{% skeleton_extra_placeholder extra-body-args %}
{% end_skeleton_extra_placeholder %}
{% endblock %}
{% block bodyclasses %}
page-{{ page.slug }} page-template-{{ page.template_name }} {% if pages %}section-{{pages.0.slug}}{% endif %}
{% skeleton_extra_placeholder extra-body-class %}
{% if user.is_authenticated %}authenticated-user{% else %}anonymous-user{% endif %}
{% end_skeleton_extra_placeholder %}
{% if page.picture %}has-picture{% endif %}
{% endblock %}
{% block title %} - {% if render_skeleton %}{% skeleton_extra_placeholder title %}{% firstof page_title site_title %}{% end_skeleton_extra_placeholder %}{% else %}{{page.title}}{% endif %}{% endblock %}
{% block menu %}
{% show_menu depth=2 ignore_visibility=True %}
{% placeholder "menu_right" %}
{% endblock %}
{% block before-main-content %}
{% if pwa_display == "standalone" or pwa_display == "fullscreen" %}
{% pwa_navigation %}
{% endif %}
{% endblock %}
{% block messages %}
{{ block.super }}
{% placeholder "messages" %}
{% endblock %}
{% block content %}
{% block combo-content %}
{% block page-content %}
<div id="columns">
{% trans "Content" as name %}
{% placeholder "content" name=name %}
</div>
{% endblock %}
{% endblock %}
{% endblock %}
{% block footer %}
{% trans "Footer" as name %}
{% placeholder "footer" acquired=True name=name %}
<div class="partners">
<div class="partner apave"></div>
<div class="partner veritas"></div>
<div class="partner dekra"></div>
<div class="partner qualiconsult"></div>
<div class="partner sgs"></div>
<div class="partner socotec"></div>
</div>
{% endblock %}
{% block user-info %}
{% skeleton_extra_placeholder user-info %}
{% if user.is_authenticated %}
<span class="logged-in">
{% if idp_account_url %}<a href="{{idp_account_url}}">{% endif %}
<span class="connected-user">{{user.first_name}} {{user.last_name}}</span>{% if idp_account_url %}</a>{% endif %}
<a accesskey="o" class="logout" href="{% url 'auth_logout' %}">D&eacute;connexion</a>
</span>
{% else %}
{% if idp_registration_url %}
<span class="login"><a accesskey="2" href="{% url 'auth_login' %}">Connexion</a> <span class="sep">/</span>
<a class="registration" href="{{idp_registration_url}}">Inscription</a></span>
{% else %}
<span class="login"><a accesskey="2" href="{% url 'auth_login' %}">Connexion <span class="sep">/</span> Inscription</a></span>
{% endif %}
{% endif %}
{% end_skeleton_extra_placeholder %}
{% endblock %}
{% block body-bottom %}
{% skeleton_extra_placeholder service-worker %}
{% if page %} {# limit this to combo itself #}
{% if pwa_display == "standalone" or pwa_display == "fullscreen" %}
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/service-worker.js', {scope: '/'}).then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}).catch(function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
}
</script>
{% endif %}
{% endif %}
{% end_skeleton_extra_placeholder %}
{% endblock %}

View File

@ -1 +1,12 @@
[]
[
{
"id": "coprec",
"label": "Coprec",
"variables": {
"css_variant": "coprec",
"favicon": "coprec/img/favicon-32x32.png",
"no_extra_js": true,
"theme_color": "#00d3cc"
}
}
]