Commit b1177032 authored by  JosephK's avatar JosephK
Browse files

Refactoring et passage à Bootstrap4

parent 4259d68a
......@@ -27,12 +27,12 @@
"html/html-extensions": [".html", ".html.raw"],
"import/resolver": {
"webpack": {
"config": "./config/webpack.config.js"
"config": "./webpack.config.js"
}
}
},
"rules": {
"filenames/match-regex": [2, "^[a-z0-9_]+$"],
"filenames/match-regex": "off",// [2, "^[a-z0-9_]+$"],
"import/no-commonjs": "error",
"no-multiple-empty-lines": ["error", { "max": 1 }],
"promise/catch-or-return": "error",
......@@ -45,6 +45,7 @@
},
"svg": "always",
"math": "always"
}]
}],
"vue/no-v-html": "off"
}
}
......@@ -4,3 +4,5 @@ public/
npm-debug.log
/zanata.xml
pnpm-lock.yaml
tools/backup/
tools/tmp/
......@@ -7,7 +7,7 @@ test:
stage: test
script:
- npm install -g yaml-lint
- for f in $(find ./app/ -name "*.yml" -type f);do yamllint $f;done;
- for f in $(find ./app/ -name "*.yml" -type f);do echo $f; yamllint $f;done;
pages:
stage: deploy
......@@ -22,6 +22,15 @@ pages:
cache:
paths:
- node_modules/
only:
refs:
- master
except:
variables:
- $DEPLOYEMENT_KEY
- $DEPLOYEMENT_KNOWN_HOSTS
- $DEPLOYEMENT_USER
- $DEPLOYEMENT_HOST
production:
stage: deploy
......@@ -44,19 +53,3 @@ production:
- $DEPLOYEMENT_KNOWN_HOSTS
- $DEPLOYEMENT_USER
- $DEPLOYEMENT_HOST
# Push new translations strings to https://trad.framasoft.org
trads:
stage: deploy
image: framasoft/push-trad:latest
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 -n zanata/zanata.xml zanata.xml
- mkdir -p ${HOME}/.config; echo -e "${ZANATA_CONFIG_FRAMABOT}" > ${HOME}/.config/zanata.ini;
- make push-locales;
only:
refs:
- master
variables:
- $ZANATA_CONFIG_FRAMABOT
backup-locales:
cp -r app/locales/* zanata/backup/
mkdir -p tools/backup/
cp -r app/locales/* tools/backup/
restore-locales:
cp -r zanata/backup/* app/locales/
cp -r tools/backup/* app/locales/
prepare-locales:
rm -f zanata/yml/*.yml zanata/po/*.po zanata/po/*.pot zanata/po/*.err
clean-locales: backup-locales
cd tools && ./cleanyml.sh
clean-locales:
zanata/scripts/cleanyml.sh
po:
zanata/scripts/yml2po.sh
yml: backup-locales
zanata/scripts/po2yml.sh
push-locales: po
zanata-cli -q -B push --push-type both
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
make yml
diff-locales:
(meld app/locales/ tools/backup/ &)
preview:
npm run preview
......
[![](https://framagit.org/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png)](https://framagit.org)
[![](https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/GitLab_Logo.svg/48px-GitLab_Logo.svg.png)](https://framagit.org)
![English:](https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Flag_of_the_United_Kingdom.svg/20px-Flag_of_the_United_Kingdom.svg.png) **Framasoft uses GitLab** for the development of its free softwares. Our Github repositories are only mirrors.
If you want to work with us, **fork us on [framagit.org](https://framagit.org)**. (no registration needed, you can sign in with your Github account)
......@@ -23,4 +23,5 @@ ainsi que ses pages annexes
* https://framasoft.org/fr/cgu
* https://framasoft.org/fr/credits
* https://framasoft.org/fr/legals
* https://framasoft.org/fr/graphics
\ No newline at end of file
* https://framasoft.org/fr/graphics
* https://framasoft.org/fr/moderation
......@@ -20,28 +20,31 @@
'meta[name^=twitter][name$=image]': {content: meta.img},
'meta[name^=twitter][name$=description]': {content: meta.description},
'meta[name=author]': {content: meta.author},
'meta[name=author]': {content: meta.author},
}"
/>
<router-view></router-view>
<router-view />
</div>
</template>
<script>
export default {
created() {
if (this.$route.meta.lang !== undefined
&& this.$i18n.locale !== this.$route.meta.lang) {
this.$i18n.locale = this.$route.meta.lang;
}
},
name: 'App',
data() {
const title = this.$te(`meta.${this.$route.meta.id}.title`)
? this.text(this.$t(`meta.${this.$route.meta.id}.title`))
: this.text(this.$t(`meta.title`));
const description = this.$te(`meta.${this.$route.meta.id}.description`)
? this.text(this.$t(`meta.${this.$route.meta.id}.description`))
: this.text(this.$t(`meta.description`));
? this.$t(`meta.${this.$route.meta.id}.description`)
: this.$t('meta.description', '-t');
let title = this.$t('meta.title', '-t'); // Main title
if (this.$te(`${this.$route.meta.id}.title`)) {
// Main title - Page title
title = `${title} - ${this.$t(`${this.$route.meta.id}.title`, '-t')}`;
}
if (this.$te(`meta.${this.$route.meta.id}.title`)) {
// Custom title
title = this.$t(`meta.${this.$route.meta.id}.title`, '-t');
}
return {
meta: {
......@@ -53,8 +56,14 @@ export default {
favicon: `${this.$t('baseurl').replace(/\/$/, '')}/icons/favicon.png`,
appleicon: `${this.$t('baseurl').replace(/\/$/, '')}/icons/apple-touch-icon.png`,
},
i18n: process.env.NODE_ENV === 'development' ? this.$i18n.messages : ''
i18n: process.env.NODE_ENV === 'development' ? this.$i18n.messages : '',
};
},
created() {
if (this.$route.meta.lang !== undefined
&& this.$i18n.locale !== this.$route.meta.lang) {
this.$i18n.locale = this.$route.meta.lang;
}
}
}
},
};
</script>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
app/assets/img/fr/fight.png

15.7 KB | W: | H:

app/assets/img/fr/fight.png

140 KB | W: | H:

app/assets/img/fr/fight.png
app/assets/img/fr/fight.png
app/assets/img/fr/fight.png
app/assets/img/fr/fight.png
  • 2-up
  • Swipe
  • Onion skin
@font-face {
font-family: 'DejaVu Sans';
src: url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-webfont.woff2') format('woff2'),
url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-webfont.woff') format('woff');
}
@font-face {
font-family: 'DejaVu Sans';
src: url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-oblique-webfont.woff2') format('woff2'),
url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-oblique-webfont.woff') format('woff');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'DejaVu Sans';
src: url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-bold-webfont.woff2') format('woff2'),
url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-bold-webfont.woff') format('woff');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'DejaVu Sans';
src: url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-bold-oblique-webfont.woff2') format('woff2'),
url('~vuefs-commons/app/assets/fonts/dejavu-sans/dejavu-sans-bold-oblique-webfont.woff') format('woff');
font-weight: 700;
font-style: italic;
}
@import '~fork-awesome/scss/variables';
@import '~fork-awesome/scss/mixins';
@import '~fork-awesome/scss/functions';
@font-face {
font-family: 'ForkAwesome';
src: url('~fork-awesome/fonts/forkawesome-webfont.woff2') format('woff2'),
url('~fork-awesome/fonts/forkawesome-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
@import '~fork-awesome/scss/core';
@import '~fork-awesome/scss/larger';
@import '~fork-awesome/scss/fixed-width';
@import '~fork-awesome/scss/list';
@import '~fork-awesome/scss/bordered-pulled';
@import '~fork-awesome/scss/animated';
@import '~fork-awesome/scss/rotated-flipped';
@import '~fork-awesome/scss/stacked';
@import '~fork-awesome/scss/icons';
@import '~fork-awesome/scss/screen-reader';
\ No newline at end of file
@font-face {
font-family: 'PTSansCaption';
src: url('../fonts/ptsans_caption/PTC55F-webfont.eot');
src: url('../fonts/ptsans_caption/PTC55F-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/ptsans_caption/PTC55F-webfont.woff') format('woff'),
url('../fonts/ptsans_caption/PTC55F-webfont.ttf') format('truetype'),
url('../fonts/ptsans_caption/PTC55F-webfont.svg#RobotoRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Thin.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Thin.woff') format('woff');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-ThinItalic.woff') format('woff');
font-weight: 100;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Light.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Light.woff') format('woff');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-LightItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-LightItalic.woff') format('woff');
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Regular.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Regular.woff') format('woff');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-RegularItalic.woff') format('woff');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Medium.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Medium.woff') format('woff');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-MediumItalic.woff') format('woff');
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Bold.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Bold.woff') format('woff');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-BoldItalic.woff') format('woff');
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-Black.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-Black.woff') format('woff');
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: 'Roboto';
src: url('~roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff2') format('woff2'),
url('~roboto-fontface/fonts/roboto/Roboto-BlackItalic.woff') format('woff');
font-weight: 900;
font-style: italic;
}
@import '~vuefs-commons/app/assets/scss/frama/bootstrap4/colors';
@import '~vuefs-commons/app/assets/scss/frama/bootstrap4/links';
@import '~vuefs-commons/app/assets/scss/frama/bootstrap4/carousel';
.btn-soutenir {
color: #fff;
background-color: #C48A1B;
border-color: #C48A1B;
&:hover {
color: #fff;
background-color: #a27216;
border-color: #976a15;
}
&:focus, &.focus {
color: #fff;
background-color: #a27216;
border-color: #976a15;
box-shadow: 0 0 0 0.2rem rgba(205, 156, 61, 0.5);
}
&.disabled, &:disabled {
color: #fff;
background-color: #C48A1B;
border-color: #C48A1B;
}
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active {
color: #fff;
background-color: #976a15;
border-color: #8c6313;
&:focus {
box-shadow: 0 0 0 0.2rem rgba(205, 156, 61, 0.5);
}
}
}
.btn-outline-soutenir {
color: #C48A1B;
border-color: #C48A1B;
&:hover {
color: #fff;
background-color: #C48A1B;
border-color: #C48A1B;
}
&:focus, &.focus {
box-shadow: 0 0 0 0.2rem rgba(196, 138, 27, 0.5);
}
&.disabled, &:disabled {
color: #C48A1B;
background-color: transparent;
}
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled).active {
color: #fff;
background-color: #C48A1B;
border-color: #C48A1B;
&:focus {
box-shadow: 0 0 0 0.2rem rgba(196, 138, 27, 0.5);
}
}
}
Markdown is supported
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