Commit d076d27a authored by  JosephK's avatar JosephK
Browse files

Big cleaning + Moderation charter

parent a3da61ef
......@@ -3,3 +3,4 @@ public/
.zanata-cache/etag-cache.xml
npm-debug.log
/zanata.xml
pnpm-lock.yaml
......@@ -8,6 +8,7 @@ pages:
- npm install
- npm run preview
- mv -f public/$CI_PROJECT_NAME/* public
- find public -type f -iregex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -execdir gzip -f --keep {} \;
artifacts:
paths:
- public
......@@ -38,7 +39,7 @@ trads:
script:
- sed -e "s@<project-version>.*</project-version>@<project-version>$CI_COMMIT_REF_SLUG</project-version>@" -i zanata/zanata.xml
- sed -e "s@<project>.*</project>@<project>$CI_PROJECT_NAME</project>@" -i zanata/zanata.xml
- cp zanata/zanata.xml zanata.xml
- cp -n zanata/zanata.xml zanata.xml
- if [ ! -z ${ZANATA_CONFIG_FRAMABOT+x} ]; then mkdir -p ${HOME}/.config; echo -e "${ZANATA_CONFIG_FRAMABOT}" > ${HOME}/.config/zanata.ini; fi
- if [ ! -z ${ZANATA_CONFIG_FRAMABOT+x} ]; then make push-locales; fi
only:
......
......@@ -8,8 +8,8 @@ prepare-locales:
rm -f zanata/yml/*.yml zanata/po/*.po zanata/po/*.pot zanata/po/*.err
clean-locales: backup-locales prepare-locales
zanata/scripts/yml2po.sh
zanata/scripts/po2yml.sh
zanata/scripts/selfyml2po.sh
zanata/scripts/selfpo2yml.sh
po:
zanata/scripts/yml2po.sh
......@@ -24,7 +24,7 @@ pull-locales: prepare-locales
cp zanata/zanata.xml zanata.xml
sed -e 's@<project></project>@<project>$(shell basename $(CURDIR))</project>@' -i zanata.xml
zanata-cli -q -B pull --pull-type both --min-doc-percent 75
zanata/scripts/po2yml.sh
make yml
preview:
npm run preview
......
......@@ -2,11 +2,23 @@
<div id="app">
<vue-headful
:title="$t('meta.title')"
:description="$t('meta.description')"
:html="{ body: {id: $route.meta.id } }"
:lang="$route.meta.lang"
:description="$t('meta.desc')"
:keywords="$t('meta.keywords')"
:head="{
'link[rel^=shortcut]': {href: `${$root['/']}icons/favicon.png`},
'link[rel=apple-touch-icon]': {href: `${$root['/']}icons/apple-touch-icon.png`},
'meta[property^=og][property$=title]': {content: `${$t('meta.title')}`},
'meta[property^=og][property$=image]': {content: `${$root.baseurl}icons/apple-touch-icon.png`},
'meta[property^=og][property$=url]': {content: $root.baseurl},
'meta[property^=og][property$=description]': {content: `${$t('meta.description')}`},
'meta[name^=twitter][name$=title]': {content: `${$t('meta.title')}`},
'meta[name^=twitter][name$=image]': {content: `${$root.baseurl}icons/apple-touch-icon.png`},
'meta[name^=twitter][name$=description]': {content: `${$t('meta.description')}`},
'meta[name=author]': {content: $t('data.meta.name') },
'meta[name^=DC][name$=title]': {content: $t('meta.title') },
'meta[name^=DC][name$=publisher]': {content: $t('data.meta.name') },
......
<template>
<div class="container ombre apropos">
<vue-headful
:title="$root.meta.title + ' - ' + $t('asso.title')"
:title="`${$root.meta.title} - ${$t('asso.title')}`"
/>
<header class="clearfix header">
<h1 class="pull-left" v-html="$t('asso.title')"></h1>
<I18n/>
</header>
<main>
<h2 v-html="$t('asso.prez.title')"></h2>
<p
v-for="index in 4"
v-html="$t('asso.prez.text[' + (index-1) + ']')"
></p>
<ul>
<li
v-for="li, index in $t('asso.prez.list')"
v-html="$t('asso.prez.list[' + index + ']')"
></li>
</ul>
<p v-html="$t('asso.prez.text[4]')"></p>
<v-text section="asso.prez" />
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<img class="img-responsive" alt=""
<img
class="img-responsive"
alt=""
:title="$t('asso.prez.saveas')"
:src="`${$root['/']}img/${$route.meta.lang}/infographie_Le-Monde-de-Framasoft_CC-By-SA-Geoffrey-Dorne-1920px-2018.jpg`" />
<p class="text-right">
<span v-html="$t('asso.prez.infography')"></span>
<a href="http://geoffreydorne.com" v-html="$root.people.dorme"></a>, <span v-html="$root.license.ccbysa4fr"></span>
<a href="http://geoffreydorne.com" v-html="$root.people.dorme"></a>,
<span v-html="$root.license.ccbysa4fr"></span>
</p>
</div>
</div>
<hr />
<h2 v-html="$t('asso.infos.title')"></h2>
<p
v-for="p, index in $t('asso.infos.text')"
v-html="$t('asso.infos.text[' + index + ']')"
></p>
<v-text section="asso.infos" />
<ul>
<li>
<a :href="$root.asso.files + 'statuts-Framasoft-2015-v8.pdf'">
<a :href="`${$root.asso.files}statuts-Framasoft-2015-v8.pdf`">
<strong v-html="$t('asso.infos.statuts')"></strong>
</a>
</li>
<li>
<a :href="$root.asso.files + 'reglement-interieur-2015-v6c.pdf'">
<a :href="`${$root.asso.files}reglement-interieur-2015-v6c.pdf`">
<strong v-html="$t('asso.infos.ri')"></strong>
</a>
</li>
</ul>
<p class="text-center">
<img style="width:180px;" alt="" :src="$root['/'] + 'img/biglogo.png'" />
<img
style="width:180px;"
alt=""
:src="`${$root['/']}img/biglogo.png`">
</p>
<hr />
......@@ -77,9 +68,9 @@
<dt v-html="$t('asso.data.dt.registration')"></dt>
<dd>
2004
(<a :href="$root.asso.files + 'statuts-Framasoft-2015-v8.pdf'"
(<a :href="`${$root.asso.files}statuts-Framasoft-2015-v8.pdf`"
rel="nofollow" v-html="$t('asso.infos.statuts')"></a>)
(<a :href="$root.asso.files + 'reglement-interieur-2015-v6c.pdf'"
(<a :href="`${$root.asso.files}reglement-interieur-2015-v6c.pdf`"
rel="nofollow" v-html="$t('asso.infos.ri')"></a>)
</dd>
</dl>
......@@ -98,7 +89,7 @@
<dl class="dl-horizontal">
<dt v-html="$t('asso.data.dt.id')"></dt>
<dd>
<a :href="$root.asso.files + 'fiche_identification_framasoft.pdf'"
<a :href="`${$root.asso.files}fiche_identification_framasoft.pdf`"
rel="nofollow" v-html="$t('asso.data.dd.id')"></a>
</dd>
</dl>
......@@ -118,42 +109,66 @@
<dd>
<ul>
<li>
2017 : <a :href="$root.asso.files + 'rapport_financier_2017.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsFinancial')"></a>
2017 :
<a :href="`${$root.asso.files}rapport_financier_2017.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsFinancial')">
</a>
(<span v-html="$t('asso.data.dd.reportsWriting')"></span>)
</li>
<li>
2016 : <a :href="$root.asso.files + 'rapport_financier_2016.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsFinancial')"></a>
2016 :
<a :href="`${$root.asso.files}rapport_financier_2016.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsFinancial')">
</a>
(<span v-html="$t('asso.data.dd.reportsWriting')"></span>)
</li>
<li>
2015 : <a :href="$root.asso.files + 'rapports-moraux/Framasoft_rapport_activite_2015.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsFinancial')"></a>
2015 :
<a :href="`${$root.asso.files}rapports-moraux/Framasoft_rapport_activite_2015.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsFinancial')">
</a>
</li>
<li>
2014 : <a :href="$root.asso.files + 'rapports-moraux/Framasoft_rapport_activite_2014.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsResults')"></a>
2014 :
<a :href="`${$root.asso.files}rapports-moraux/Framasoft_rapport_activite_2014.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsResults')">
</a>
</li>
<li>
2013 : <a :href="$root.asso.files + 'rapports-moraux/rapport_activites_framasoft_2013-v0.3.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsMAndF')"></a>
2013 :
<a :href="`${$root.asso.files}rapports-moraux/rapport_activites_framasoft_2013-v0.3.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsMAndF')">
</a>
</li>
<li>
2012 : <a :href="$root.asso.files + 'rapport_moral_framasoft_2012-v0.5.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsMAndF')"></a>
2012 :
<a :href="`${$root.asso.files}rapport_moral_framasoft_2012-v0.5.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsMAndF')">
</a>
</li>
<li>
2011 : <a :href="$root.asso.files + 'rapport_moral_framasoft_2011-v3.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsMAndF')"></a>
2011 :
<a :href="`${$root.asso.files}rapport_moral_framasoft_2011-v3.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsMAndF')">
</a>
</li>
<li>
2010 : <a :href="$root.asso.files + 'rapport_moral_framasoft_2010_v3.pdf'"
2010 : <a :href="`${$root.asso.files}rapport_moral_framasoft_2010_v3.pdf`"
rel="nofollow" v-html="$t('asso.data.dd.reportsMAndF')"></a>
</li>
<li>
2009 : <a :href="$root.asso.files + 'rapport_moral_framasoft_2009_v2.4.3_0.pdf'"
rel="nofollow" v-html="$t('asso.data.dd.reportsMAndF')"></a>
2009 :
<a :href="`${$root.asso.files}rapport_moral_framasoft_2009_v2.4.3_0.pdf`"
rel="nofollow"
v-html="$t('asso.data.dd.reportsMAndF')">
</a>
</li>
</ul>
</dd>
......@@ -186,11 +201,13 @@
</template>
<script>
import I18n from '../partials/I18n.vue'
import I18n from '../partials/I18n.vue';
import VText from '../partials/V-Text.vue';
export default {
components: {
I18n,
VText,
},
}
</script>
<template>
<div class="container ombre apropos">
<vue-headful
:title="$root.meta.title + ' - ' + $t('cgu.title')"
:title="`${$root.meta.title} - ${$t('cgu.title')}`"
/>
<header class="clearfix header">
<h1 class="pull-left" v-html="$t('cgu.title')"></h1>
......@@ -15,92 +15,41 @@
<p v-html="$t('cgu.short.desc')"></p>
<p><b v-html="$t('cgu.short.sympa.text')"></b></p>
<ul class="list-group">
<li class="list-group-item bg-success"
v-for="li, index in $t('cgu.short.sympa.list')"
v-html="$t('cgu.short.sympa.list[' + index + ']')"
></li>
<li
v-for="index in Object.keys($t('cgu.short.sympa.list'))"
:key="index"
class="list-group-item bg-success"
v-html="$t(`cgu.short.sympa.list[${index}]`)">
</li>
</ul>
<p v-html="$t('cgu.short.terms.text')"></p>
<ul class="list-group">
<li class="list-group-item bg-warning"
v-for="li, index in $t('cgu.short.terms.list')"
v-html="$t('cgu.short.terms.list[' + index + ']')"
></li>
</ul>
<h2 v-html="$t('cgu.full.title')"></h2>
<h3 v-html="$t('cgu.full.conditions.title')"></h3>
<ol>
<li
v-for="li, index in $t('cgu.full.conditions.list')"
v-html="$t('cgu.full.conditions.list[' + index + ']')"
></li>
</ol>
<p v-html="$t('cgu.full.liabilities.text')"></p>
<ol>
<li
v-for="li, index in $t('cgu.full.liabilities.list')"
v-html="$t('cgu.full.liabilities.list[' + index + ']')"
></li>
</ol>
<h2 v-html="$t('cgu.modify.title')"></h2>
<ol>
<li
v-for="li, index in $t('cgu.modify.list')"
v-html="$t('cgu.modify.list[' + index + ']')"
></li>
</ol>
<h3 v-html="$t('cgu.modify.copyright.title')"></h3>
<ol>
<li
v-for="li, index in $t('cgu.modify.copyright.list')"
v-html="$t('cgu.modify.copyright.list[' + index + ']')"
></li>
</ol>
<h3 v-html="$t('cgu.modify.share.title')"></h3>
<ul>
<li
v-for="li, index in $t('cgu.modify.share.list')"
v-html="$t('cgu.modify.share.list[' + index + ']')"
></li>
v-for="index in Object.keys($t('cgu.short.terms.list'))"
:key="index"
class="list-group-item bg-warning"
v-html="$t(`cgu.short.terms.list[${index}]`)">
</li>
</ul>
<h3 v-html="$t('cgu.modify.closure.title')"></h3>
<p
v-for="p, index in $t('cgu.modify.closure.text')"
v-html="$t('cgu.modify.closure.text[' + index + ']')"
></p>
<h3 v-html="$t('cgu.modify.private.title')"></h3>
<p
v-for="p, index in $t('cgu.modify.private.text')"
v-html="$t('cgu.modify.private.text[' + index + ']')"
></p>
<ul>
<li
v-for="li, index in $t('cgu.modify.private.list')"
v-html="$t('cgu.modify.private.list[' + index + ']')"
></li>
</ul>
<v-text section="cgu.full" />
<div class="signature">
<hr />
<p v-for="p, index in $t('cgu.footer')" v-html="$t('cgu.footer['+ index +']')""></p>
<v-text section="cgu.footer" />
</div>
</main>
</div>
</template>
<script>
import I18n from '../partials/I18n.vue'
import I18n from '../partials/I18n.vue';
import VText from '../partials/V-Text.vue';
export default {
components: {
I18n,
VText,
},
}
</script>
<template>
<div class="container ombre apropos">
<vue-headful
:title="$root.meta.title + ' - ' + $t('charte.title')"
:title="`${$root.meta.title} - ${$t('charte.title')}`"
/>
<header class="clearfix header">
<h1 class="pull-left" v-html="$t('charte.title')"></h1>
<I18n/>
</header>
<main>
<p v-html="$t('charte.intro')"></p>
<h2 v-html="$t('charte.libre.title')"></h2>
<p v-for="p, index in $t('charte.libre.text')" v-html="$t('charte.libre.text['+ index +']')"></p>
<h2 v-html="$t('charte.decentralized.title')"></h2>
<p v-for="p, index in $t('charte.decentralized.text')" v-html="$t('charte.decentralized.text['+ index +']')"></p>
<h2 v-html="$t('charte.ethic.title')"></h2>
<p v-for="p, index in $t('charte.ethic.text')" v-html="$t('charte.ethic.text['+ index +']')"></p>
<h2 v-html="$t('charte.solidary.title')"></h2>
<p v-for="p, index in $t('charte.solidary.text')" v-html="$t('charte.solidary.text['+ index +']')"></p>
<v-text section="charte" />
<div class="signature">
<hr />
<p v-for="p, index in $t('charte.footer')" v-html="$t('charte.footer['+ index +']')"></p>
<v-text section="charte.footer" />
</div>
</main>
</div>
</template>
<script>
import I18n from '../partials/I18n.vue'
import I18n from '../partials/I18n.vue';
import VText from '../partials/V-Text.vue';
export default {
components: {
I18n,
VText,
},
}
</script>
<template>
g mariejulien.com/<template>
<div class="container ombre apropos">
<vue-headful
:title="$root.meta.title + ' - ' + $t('credits.title')"
:title="`${$root.meta.title} - ${$t('credits.title')}`"
/>
<header class="clearfix header">
<h1 class="pull-left" v-html="$t('credits.title')"></h1>
<I18n/>
</header>
<main>
<p v-html="$t('credits.main.text[0]')"></p>
<ul>
<li
v-for="li, index in $t('credits.main.tools')"
v-html="$t('credits.main.tools['+ index +']')"
></li>
</ul>
<p v-html="$t('credits.main.text[1]')"></p>
<p><span v-html="$t('credits.main.text[2]')"></span> {{ $root.people.sandra }}, {{ $root.people.jo }}</p>
<v-text section="credits.main" />
<h2 v-html="$t('credits.main.license.title')"></h2>
<p
v-for="p, index in $t('credits.main.license.text')"
v-html="$t('credits.main.license.text['+ index +']')"
></p>
<div id="site-credits" class="well" v-if="site !== ''">
<div v-if="$root.hash !== ''"
id="site-credits"
class="well">
<section v-show="$root.hash === 'blog'">
<h1 v-html="$root.html.blog"></h1>
<p>Le <span v-html="$root.html.blog"></span> est propulsé par <a href="https://wordpress.org/">Wordpress</a>.</p>
......@@ -440,11 +428,13 @@
</template>
<script>
import I18n from '../partials/I18n.vue'
import I18n from '../partials/I18n.vue';
import VText from '../partials/V-Text.vue';
export default {
components: {
I18n,
VText,
},
}
</script>
......
......@@ -7,12 +7,18 @@
<div class="row">
<div class="col-md-8">
<div class="row">
<figure id="pingouinVolant" class="pull-right" >
<img :src="$root['/'] + 'img/biglogo-notxt.png'" style="max-width: 250px;margin: 0;" alt="" />
<figure id="pingouinVolant" class="pull-right">
<img :src="`${$root['/']}img/biglogo-notxt.png`"
style="max-width: 250px;margin: 0;"
alt="" />
</figure>
<ul class="accroche">
<li v-for="item in $t('pages.accroche')" v-html="item"></li>
<li
v-for="item in $t('pages.accroche')"
:key="item"
v-html="item">
</li>
</ul>
</div>
......@@ -43,10 +49,10 @@
<tr
v-for="item in $root.pages.medias.list"
:key="item[3]"
v-if="item[0] === $t('lang') || (item[0] === 'en' && $t('lang') !== 'fr')">
:class="!(item[0] === $t('lang') || (item[0] === 'en' && $t('lang') !== 'fr')) ? 'hidden' : ''">
<td v-html="item[1]"></td>
<td v-html="item[2]"></td>
<td ><a :href="item[3]" :hreflang="item[0]" v-html="$t(item[4])"></a></td>
<td><a :href="item[3]" :hreflang="item[0]" v-html="$t(item[4])"></a></td>
</tr>
</tbody>
</table>
......@@ -57,21 +63,19 @@
<div id="blocFramatrucs" class="col-md-4">
<div
v-for="(section, titre) in sideMenuCat()"
:key="titre"
>
:key="titre">
<h4 class="titreFramaTrucs">
<a
:href="`#topPg${titre}`"
:class="$root.cat[titre].color"
v-html="section.title"
></a>
v-html="section.title">
</a>
</h4>
<div class="row">
<ul class="listeFramaTrucs col-md-12">
<li
v-for="([key, frama], index) in tradEntries(section.sites)"
:key="frama.link"
>
:key="frama.link">
<span
:class="hideRepeat(index, tradEntries(section.sites))"
v-html="frama.what"></span>
......@@ -91,7 +95,7 @@
</div>
<div class="container ombre" id="topPgCommunaute">
<div id="topPgCommunaute" class="container ombre">
<div class="clearfix header">
<div class="col-md-4">
<h1 class="sitename">
......@@ -107,8 +111,8 @@
</div>
<div class="row" id="contentCommunaute">
<div class="col-md-4 blocCommunaute" >
<img :src="$root['/'] + 'img/framateam1.jpg'" class="img-responsive" alt="" />
<div class="col-md-4 blocCommunaute">
<img :src="`${$root['/']}img/framateam1.jpg`" class="img-responsive" alt="" />
</div>
<div class="col-md-4 blocCommunaute">
......@@ -136,23 +140,12 @@
</div>
<div class="col-md-4 blocCommunaute">
<img :src="$root['/'] + 'img/framateam2.jpg'" class="img-responsive" alt="" />
<img :src="`${$root['/']}img/framateam2.jpg`" class="img-responsive" alt="" />
</div>
<div class="col-md-12 blocCommunaute partenaires">
<h4 class="titreBloc" v-html="$t('pages.partenaires.title')"></h4>
<p class="miniBlocTexte" v-html="$t('pages.partenaires.desc')"></p>
<ul class="list-inline text-center">
<li><a href="http://milliweb.fr">
<img src="https://soutenir.framasoft.org/img/partenaires/milliweb.png" alt="Milliweb">
</a></li>
<li><a href="https://www.flexilivre.com">
<img src="https://soutenir.framasoft.org/img/partenaires/flexilivre.png" alt="FlexiLivre">
</a></li>
<li><a href="http://linphone.org">
<img src="https://soutenir.framasoft.org/img/partenaires/belledonne.png" alt="Belledonne Communication">
</a></li>
</ul>
</div>
</div>
......@@ -185,21 +178,23 @@
<div class="col-md-4">
<figure id="pingouinMuseeWindows">
<img :src="$root['/'] + 'img/musee-windows_ll-de-mars_licence-art-libre.jpg'" alt="" />
<img :src="`${$root['/']}img/musee-windows_ll-de-mars_licence-art-libre.jpg`" alt="" />
</figure>
</div>
</div>
<div class="row">
<div class="col-md-3 miniBloc" v-for="frama in $root.cat.logiciel.sites">
<div v-for="frama in $root.cat.logiciel.sites"
:key="frama"
class="col-md-3 miniBloc">
<a :href="$root.link[frama]">
<h4 class="bleu" v-html="$root.color[frama]"></h4>
</a>
<p
:class="`miniBlocSubTitle ${$root.icon[frama]}`"
v-html="$t('cat.logiciel.sites.' + frama + '.title')"
></p>
<p class="miniBlocTexte" v-html="$t('cat.logiciel.sites.' + frama + '.desc')"></p>
v-html="$t(`cat.logiciel.sites.${frama}.title`)">
</p>
<p class="miniBlocTexte" v-html="$t(`cat.logiciel.sites.${frama}.desc`)"></p>
</div>
</div>
......@@ -207,7 +202,7 @@
</div>
<div class="container ombre" id="topPgculture">
<div id="topPgculture" class="container ombre">
<div class="clearfix header">
<div class="col-md-4">
<h1 class="sitename violet">
......@@ -223,8 +218,8 @@
</div>
<div class="row">
<div class="col-md-6" id="presentationServices">
<div class="row col-md-12" id="blocServices">
<div id="presentationServices" class="col-md-6">
<div id="blocServices" class="row col-md-12">