Merge branch 'header' into main

This commit is contained in:
Avris 2021-05-13 14:53:41 +02:00
commit 601a9cf553
24 changed files with 393 additions and 180 deletions

View File

@ -48,11 +48,25 @@ html {
}
body {
margin: 2rem auto;
max-width: min(90vw, 920px);
margin: 2rem;
background-image: linear-gradient(74deg, rgba(236, 236, 236,0.02) 0%, rgba(236, 236, 236,0.02) 13%,transparent 13%, transparent 64%,rgba(55, 55, 55,0.02) 64%, rgba(55, 55, 55,0.02) 71%,rgba(239, 239, 239,0.02) 71%, rgba(239, 239, 239,0.02) 100%),linear-gradient(170deg, rgba(8, 8, 8,0.02) 0%, rgba(8, 8, 8,0.02) 1%,transparent 1%, transparent 60%,rgba(9, 9, 9,0.02) 60%, rgba(9, 9, 9,0.02) 80%,rgba(198, 198, 198,0.02) 80%, rgba(198, 198, 198,0.02) 100%),linear-gradient(118deg, rgba(134, 134, 134,0.02) 0%, rgba(134, 134, 134,0.02) 30%,transparent 30%, transparent 43%,rgba(85, 85, 85,0.02) 43%, rgba(85, 85, 85,0.02) 47%,rgba(103, 103, 103,0.02) 47%, rgba(103, 103, 103,0.02) 100%),linear-gradient(249deg, rgba(178, 178, 178,0.02) 0%, rgba(178, 178, 178,0.02) 8%,transparent 8%, transparent 47%,rgba(161, 161, 161,0.02) 47%, rgba(161, 161, 161,0.02) 61%,rgba(19, 19, 19,0.02) 61%, rgba(19, 19, 19,0.02) 100%),linear-gradient(90deg, rgb(255,255,255),rgb(255,255,255));
}
.container {
margin: 0 auto;
width: 100%;
max-width: min(90vw, 920px);
}
@include media-breakpoint-up('lg', $grid-breakpoints) {
body {
margin-top: $header-margin;
}
.sticky-top {
top: $header-height - 1px;
}
}
section {
margin: 2*$spacer 0;
}

View File

@ -7,6 +7,9 @@ $alert-border-level: -3;
$link-decoration: none;
$link-hover-decoration: underline;
$header-height: 80px;
$header-margin: $header-height + 36px;
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
@import "~bootstrap/scss/mixins";

View File

@ -0,0 +1,11 @@
<template>
<section v-if="config.links.links.length">
<h2 class="mb-3">
<Icon v="vial"/>
<T>links.academic</T>
</h2>
<ul class="list-unstyled">
<Link v-for="link in config.links.academic" :link="link" :key="link.url"/>
</ul>
</section>
</template>

View File

@ -1,11 +1,11 @@
<template>
<section v-if="Object.keys(config.contact.blog).length">
<section v-if="Object.keys(config.links.blog).length">
<h2>
<Icon v="pen-nib"/>
<T>contact.team.blog</T>
<T>links.blog</T>
</h2>
<ul>
<li v-for="(title, slug) in config.contact.blog" class="mb-2">
<li v-for="(title, slug) in config.links.blog" class="mb-2">
<nuxt-link :to="`/blog/${slug}`">
{{title}}
</nuxt-link>

View File

@ -5,7 +5,7 @@
>
<slot name="toggle">Dropdown</slot>
</button>
<ul :class="['dropdown-menu', shown ? 'show' : '']" >
<ul :class="['dropdown-menu', end ? 'dropdown-menu-end' : '', shown ? 'show' : '']" >
<slot name="menu">
<li class="dropdown-item">Option</li>
</slot>
@ -17,6 +17,7 @@
export default {
props: {
btnClass: { 'default': 'btn-secondary' },
end: { type: Boolean },
},
data() {
return {
@ -42,3 +43,9 @@
},
}
</script>
<style lang="scss" scoped>
.dropdown-menu-end {
right: 0;
}
</style>

View File

@ -1,60 +1,31 @@
<template>
<header v-if="config.header" class="mb-4">
<div class="mb-3 d-flex justify-content-between align-items-center flex-column flex-md-row">
<h1 class="text-nowrap">
<nuxt-link to="/">
<div class="d-none d-lg-flex justify-content-between align-items-center flex-row nav-custom btn-group mb-0">
<nuxt-link v-for="link in links" :key="link.link" :to="link.link" :class="`nav-item btn btn-sm ${isActiveRoute(link) ? 'active' : ''} ${link.header ? 'flex-grow-0' : ''}`">
<h1 v-if="link.header" class="text-nowrap">
<Icon v="tags"/>
<span class="higher"><T>title</T></span>
</nuxt-link>
</h1>
<div>
<div v-if="config.locale === 'zh'" class="btn-group m-2">
<button v-for="(display, code) in {traditional: '繁體', simplified: '简体'}"
:class="'btn btn-sm ' + (spelling === code ? 'btn-secondary disabled' : 'btn-outline-secondary')"
:disabled="spelling === code"
@click="setSpelling(code)"
>
{{display}}
</button>
</div>
<Dropdown v-if="Object.keys(locales).length > 1" btnClass="btn-outline-secondary btn-sm" class="d-inline-block">
<template v-slot:toggle>
<Icon v="language"/>
{{locales[config.locale].name}}
</template>
<template v-slot:menu>
<li v-for="(options, locale) in locales" :key="locale" v-if="locale !== config.locale">
<a :href="options.url" class="dropdown-item">
{{options.name}}
</a>
</li>
<li class="dropdown-divider"></li>
<li>
<LocaleLink locale="en" link="/blog/creating-new-language-version" class="dropdown-item small">
<Icon v="plus"/>
<T>localise.shorter</T>
</LocaleLink>
</li>
</template>
</Dropdown>
<!--
<div class="btn-group">
<a v-for="(options, locale) in locales" :key="locale"
:href="options.url"
:class="'btn btn-sm ' + (locale === config.locale ? 'btn-secondary disabled' : 'btn-outline-secondary')"
:disabled="locale === config.locale"
>
{{options.name}}
</a>
<LocaleLink locale="en" link="/blog/creating-new-language-version" class="btn btn-sm btn-outline-secondary">
<Icon v="plus"/>
</LocaleLink>
</div>
-->
</h1>
<template v-else>
<Icon :v="link.icon" size="1.6"/>
<br/>
<span class="text-nowrap"><Spelling :text="link.text"/></span>
</template>
</nuxt-link>
<div class="nav-item flex-grow-0">
<VersionDropdown end/>
</div>
</div>
<div class="d-block d-md-none">
<div class="d-block d-lg-none">
<div class="text-center mb-3">
<nuxt-link to="/">
<h1 class="text-nowrap">
<Icon v="tags"/>
<span class="higher"><T>title</T></span>
</h1>
</nuxt-link>
<VersionDropdown/>
</div>
<div class="btn-group-vertical d-flex nav-custom mb-2">
<nuxt-link v-for="link in links" :key="link.link" :to="link.link" :class="`btn btn-sm ${isActiveRoute(link) ? 'active' : ''}`">
<Icon :v="link.icon"/>
@ -77,15 +48,6 @@
</div>
</div>
</div>
<div class="d-none d-md-block">
<div class="btn-group d-flex nav-custom mb-2">
<nuxt-link v-for="link in links" :key="link.link" :to="link.link" :class="`btn btn-sm ${isActiveRoute(link) ? 'active' : ''}`">
<Icon :v="link.icon" size="1.6"/>
<br/>
<span class="text-nowrap"><Spelling :text="link.text"/></span>
</nuxt-link>
</div>
</div>
<div v-if="locales[config.locale].published === false" class="alert alert-warning mt-3">
<Icon v="exclamation-triangle"/>
This language version is still under construction!
@ -94,7 +56,7 @@
<a href="#" class="float-end" @click.prevent="dismissCensus">
<Icon v="times"/>
</a>
<Icon v="user-chart" size="2" class="d-inline-block float-start mr-3 mt-2"/>
<Icon v="user-chart" size="2" class="d-inline-block float-start me-3 mt-2"/>
<T silent>census.banner</T>
</div>
</header>
@ -129,6 +91,7 @@
const links = [];
links.push({
header: true,
link: '/',
icon: 'home',
text: this.$t('home.header'),
@ -175,7 +138,7 @@
});
}
if (this.config.faq.enabled) {
if (this.config.faq.enabled && !this.config.links.enabled) {
links.push({
link: '/' + this.config.faq.route,
icon: 'map-marker-question',
@ -190,16 +153,14 @@
icon: 'bookmark',
text: this.$t('links.header'),
textLong: this.$t('links.headerLong'),
extra: ['blog', 'blogEntry'],
});
}
if (this.config.people.enabled) {
links.push({
link: '/' + this.config.people.route,
icon: 'user-friends',
text: this.$t('people.header'),
textLong: this.$t('people.headerLong'),
extra: [
'/' + this.config.links.academicRoute,
'blog',
'blogEntry',
'/' + this.config.links.mediaRoute,
'/' + this.config.faq.route,
'/' + this.config.people.route,
],
});
}
@ -301,7 +262,12 @@
<style lang="scss" scoped>
@import "assets/variables";
@include media-breakpoint-down('md', $grid-breakpoints) {
header {
padding: 0;
width: 100%;
}
@include media-breakpoint-down('lg', $grid-breakpoints) {
h1 {
font-size: 2rem;
}
@ -320,6 +286,22 @@
text-align: left;
}
}
.hamburger-menu {
position: fixed;
top: $spacer;
left: $spacer;
z-index: 1030;
transition: all .5s ease-in-out;
.btn-hamburger {
&:not(:active):not(:hover):not(:focus):not(.active) {
background-color: $white;
}
&.active {
background-color: $secondary;
}
}
}
}
.nav-custom-start {
@ -337,47 +319,52 @@
}
}
@include media-breakpoint-up('md', $grid-breakpoints) {
@include media-breakpoint-up('lg', $grid-breakpoints) {
header {
position: fixed;
z-index: 9999;
top: 0;
left: 0;
backdrop-filter: blur(12px);
@supports not (backdrop-filter: blur(12px)) {
background-color: $white;
}
}
.nav-custom:not(.nav-custom-start) {
.btn {
.nav-item {
border-bottom: 1px solid $gray-500;
border-radius: 0;
&:hover, &:focus, &.active {
border-bottom: 3px solid $primary;
padding-bottom: calc(#{$btn-padding-y-sm} - 2px);
color: $primary;
&.btn {
&:hover, &:focus, &.active {
border-bottom: 3px solid $primary;
padding-bottom: calc(#{$btn-padding-y-sm} - 2px);
color: $primary;
}
}
height: $header-height;
padding-top: 1.2rem;
margin-top: 3px;
&:first-child, &:last-child {
padding-left: 1rem;
padding-right: 1rem;
}
}
}
.hamburger-menu {
display: none;
}
}
h1 {
a {
text-decoration: none;
.higher {
position: relative;
top: -0.1em;
}
&:hover .higher {
text-decoration: underline;
}
}
}
.hamburger-menu {
position: fixed;
top: $spacer;
left: $spacer;
z-index: 1030;
transition: all .5s ease-in-out;
.btn-hamburger {
&:not(:active):not(:hover):not(:focus):not(.active) {
background-color: $white;
}
&.active {
background-color: $secondary;
}
text-decoration: none;
.higher {
position: relative;
top: -0.1em;
}
}
</style>

View File

@ -23,7 +23,7 @@
</div>
</section>
<Table :data="visibleEntries()" :marked="(el) => !el.approved" fixed ref="dictionarytable">
<Table :data="visibleEntries()" columns="3" :marked="(el) => !el.approved" fixed ref="dictionarytable">
<template v-slot:header>
<th class="text-nowrap">
<Icon v="comment-times"/>

View File

@ -49,7 +49,7 @@
<div class="form-group">
<label><strong><T>nouns.inclusive.categories</T>:</strong></label>
<a v-for="category in config.nouns.inclusive.categories"
href="#" :class="['badge border mx-2', form.categories.includes(category) ? 'bg-primary' : 'bg-light']"
href="#" :class="['badge border mx-2 text-decoration-none', form.categories.includes(category) ? 'bg-primary text-white' : 'bg-light text-primary']"
@click.prevent="form.categories = form.categories.includes(category) ? form.categories.filter(c => c !== category) : [...form.categories, category]"
>
{{ category }}

55
components/LinksNav.vue Normal file
View File

@ -0,0 +1,55 @@
<template>
<section v-if="config.links.split" class="mt-4 mt-lg-0">
<div class="d-none d-md-inline-flex btn-group btn-block mb-2 w-100">
<router-link v-for="{name, icon, route} in links" :to="`/${route}`" :key="name"
:class="['btn', isActiveRoute(route) ? 'btn-primary' : 'btn-outline-primary']">
<Icon :v="icon"/>
<T>{{name}}</T>
</router-link>
</div>
<div class="d-block d-md-none btn-group-vertical btn-block mb-2 w-100">
<router-link v-for="{name, icon, route} in links" :key="name"
:to="`/${route}`"
:class="['btn', isActiveRoute(route) ? 'btn-primary' : 'btn-outline-primary']">
<Icon :v="icon"/>
<T>{{name}}</T>
</router-link>
</div>
</section>
</template>
<script>
export default {
data() {
const links = [];
if (this.config.links.links.length) {
links.push({name: 'links.links', route: this.config.links.linksRoute, icon: 'bookmark'});
}
if (this.config.links.academic.length) {
links.push({name: 'links.academic', route: this.config.links.academicRoute, icon: 'vial'});
}
if (Object.keys(this.config.links.blog).length) {
links.push({name: 'links.blog', route: this.config.links.blogRoute, icon: 'pen-nib'});
}
if (this.config.links.mediaGuests.length || this.config.links.mediaMentions.length) {
links.push({name: 'links.media', route: this.config.links.mediaRoute, icon: 'tv'});
}
if (this.config.faq.enabled) {
links.push({name: 'faq.header', route: this.config.faq.route, icon: 'map-marker-question'});
}
if (this.config.people.enabled) {
links.push({name: 'people.header', route: this.config.people.route, icon: 'user-friends'});
}
return {
links,
};
},
methods: {
isActiveRoute(route) {
return decodeURIComponent(this.$route.fullPath).replace(/\/$/, '') === '/' + route.replace(/\/$/, '');
},
},
};
</script>

View File

@ -1,17 +1,17 @@
<template>
<section v-if="config.links.mediaGuests.length || config.links.mediaMentions.length">
<h2 class="h3">
<h2>
<Icon v="tv"/>
<T>links.media</T>
</h2>
<h3 v-if="config.links.mediaGuests.length && config.links.mediaMentions.length" class="h4 mt-3">
<h3 v-if="config.links.mediaGuests.length && config.links.mediaMentions.length" class="mt-4 mb-2">
<Icon v="microphone-alt"/>
<T>links.mediaGuests</T>
</h3>
<ul class="list-unstyled" v-if="config.links.mediaGuests.length">
<Link v-for="link in config.links.mediaGuests" :link="link" :key="link.url"/>
</ul>
<h3 v-if="config.links.mediaGuests.length && config.links.mediaMentions.length" class="h4 mt-3">
<h3 v-if="config.links.mediaGuests.length && config.links.mediaMentions.length" class="mt-4 mb-2">
<Icon v="quote-right"/>
<T>links.mediaMentions</T>
</h3>

View File

@ -0,0 +1,42 @@
<template>
<div class="pt-1">
<div v-if="config.locale === 'zh'" class="btn-group m-2">
<button v-for="(display, code) in {traditional: '繁體', simplified: '简体'}"
:class="'btn btn-sm ' + (spelling === code ? 'btn-secondary disabled' : 'btn-outline-secondary')"
:disabled="spelling === code"
@click="setSpelling(code)"
>
{{display}}
</button>
</div>
<Dropdown v-if="Object.keys(locales).length > 1" btnClass="btn-outline-secondary btn-sm" class="d-inline-block" :end="end">
<template v-slot:toggle>
<Icon v="language"/>
{{locales[config.locale].name}}
</template>
<template v-slot:menu>
<li v-for="(options, locale) in locales" :key="locale" v-if="locale !== config.locale">
<a :href="options.url" class="dropdown-item">
{{options.name}}
</a>
</li>
<li class="dropdown-divider"></li>
<li>
<LocaleLink locale="en" link="/blog/creating-new-language-version" class="dropdown-item small">
<Icon v="plus"/>
<T>localise.shorter</T>
</LocaleLink>
</li>
</template>
</Dropdown>
</div>
</template>
<script>
export default {
props: {
end: {type: Boolean},
},
}
</script>

View File

@ -2,10 +2,12 @@
<div class="d-flex flex-column vh-100">
<div class="flex-grow-1">
<Header/>
<Nuxt/>
<ScrollButton/>
<main class="container">
<Nuxt/>
<ScrollButton/>
</main>
</div>
<div>
<div class="container">
<Footer/>
</div>
<Confirm ref="confirm"/>

View File

@ -84,7 +84,7 @@ nouns:
- 'dukatywy'
- 'osobatywy'
inclusive:
enabled: false
enabled: true
categories: ['queer/lgbtq+', 'transpłciowość', 'interpłciowość', 'niepełnosprawność', 'rasa i narodowość']
route: 'inkluzywny'
terms:
@ -102,7 +102,7 @@ nouns:
route: 'terminologia'
names:
enabled: false
enabled: true
route: 'imiona'
legally: true
count: true
@ -115,15 +115,29 @@ faq:
links:
enabled: true
split: true
route: 'linki'
blogRoute: 'blog'
links:
-
icon: 'globe-europe'
url: 'https://pronoun.is/'
lang: ['en']
headline: 'Pronoun.is'
extra: ' anglojęzyczna inspiracja dla tej strony.'
academicRoute: 'nauka'
linksRoute: 'linki'
mediaRoute: 'media'
blog:
manifest: 'Manifest Niebinarnej Polszczyzny'
wystarczyło-zapytać: 'Wystarczyło zapytać…'
krótka-notka-o-osobatywach: 'Krótka notka o osobatywach'
czytanie-ze-zrozumieniem: 'Czytanie ze zrozumieniem'
spis-2021: 'Niebinarny Spis Powszechny 2021 wnioski'
czy-wolno-uzywac: 'Zamiast pierdyliarda dyskusji czy wolno używać zróbmy pierdyliard użyć'
inkluzywne-liczebniki: 'Inkluzywne liczebniki'
zaimki-postpłciowe: 'Zaimki w rodzaju postpłciowym'
zaimki-nie-tylko-osobowe: 'Zaimki nie tylko osobowe'
archie-wyborcza: 'Przemówienie Arcziego na konferencji prasowej ws. transfobii w Gazecie Wyborczej'
rekomendacja-formularze: 'Rekomendacja Rady w sprawie pytania o płeć w formularzach'
podsumowanie-2020: 'Podsumowanie działalności w roku 2020'
gwiezdne-wojny: 'Niebinarność w „Gwiezdnych Wojnach”'
czas-się-obnosić: 'Nadszedł czas się obnosić! przemówienie Sybila z Wrocławskiego Marszu Równości'
academic:
-
icon: 'comment-alt-edit'
url: 'https://rjp.pan.pl/index.php?option=com_content&view=article&id=317:byom-byo&catid=44&Itemid=208'
@ -132,6 +146,56 @@ links:
Nigdzie nie występuje zastrzeżenie, że nie tworzy się form 1. i 2. osoby rodzaju nijakiego w czasie przeszłym.
Tak więc z punktu widzenia gramatycznego formy <em>byłom, byłoś, robiłom, robiłoś, widziałom, widziałoś</em> itd.
są poprawne, zgodne z systemem językowym.
-
icon: 'comment-alt-edit'
lang: ['en']
url: 'https://anglica-journal.com/resources/html/article/details?id=207730'
headline: 'Misgendered in Translation?: Genderqueerness in Polish Translations of English-language Television Series'
extra: ' Szymon Misiek; Uniwersytet Warszawski; ANGLICA. An International Journal of English Studies'
quote: >
In recent years, the English-speaking world observed growing awareness
of the gender non-binary/genderqueer community.
Among other things, this involved the issue of inclusive language,
e.g. the <em>singular they</em> pronoun has been declared the word of the year
by the American Dialect Society in 2015, and by Merriam-Webster in 2019.
There is also growing media representation of characters using <em>singular they</em> in popular culture.
This, however, poses a challenge to translators, as some languages like Polish
are much more heavily gendered and lack an obvious equivalent of <em>singular they</em>.
This article analyses Polish translations of three English-language television series
featuring non-binary characters and discusses good practices one can employ
when dealing with similar trans- lation challenges.
-
icon: 'comment-alt-edit'
headline: 'Neutrativa im Polnischen. Theorie Norm Usus'
extra: ' Michał Dudas; Johannes Gutenberg Universität Mainz (Hausarbeit zur Erlangung des Akademischen Grades Master of Arts)'
lang: ['de']
quote: >
Äußerst positiv zu bewerten sind folgende Punkte.
(a) Die Seite bietet eine optimale Aus- wahl an Informationen und guten Übersichten,
wodurch sie auch für Laien sprachlich zugänglich ist.
(b) Die Autorys (sowie andere, die zum Projekt beitragen)
weisen m. E. ein erhöhtes Sprachbewusstsein auf (z. B. im Bereich der komplexen Morphonologie).
(c) Die Sprachexperimente basieren u. a auf den Leistungen der Übersetzer*innen
und die Modifikationen versuchen gleichzeitig, die poln. Flexion von der MF-Binarität los- zulösen,
ohne das System zu sprengen.
(d) Formularfelder laden die User*innen zur Ko- operation ein.
(e) Schließlich verwenden die Autorys auf der Seite konsequent die nicht- binären Formen.
-
icon: 'book'
url: 'https://gufaculty360.georgetown.edu/s/contact/00336000014RaQuAAK/iwona-sadowska'
lang: ['en']
headline: 'Polish: A Comprehensive Grammar Iwona Sadowska; Georgetown University (to be published in 2022)'
-
icon: 'play-circle'
url: 'https://www.youtube.com/watch?v=YOEB6Ixp048'
headline: 'Nie-binarny język polski seminarium naukowe (Queer UW)'
links:
-
icon: 'globe-europe'
url: 'https://pronoun.is/'
lang: ['en']
headline: 'Pronoun.is'
extra: ' anglojęzyczna inspiracja dla tej strony.'
-
icon: 'comment-alt-edit'
url: 'https://avris.it/blog/genderneutralizacja-polszczyzny'
@ -148,19 +212,6 @@ links:
icon: 'comment-alt-edit'
url: 'https://avris.it/blog/czemu-każdy-powinien-mieć-zaimki-w-bio'
headline: 'Czemu KAŻDY powinien mieć zaimki w bio'
-
icon: 'comment-alt-edit'
url: '/blog/gwiezdne-wojny'
headline: 'Niebinarność w „Gwiezdnych Wojnach”'
-
icon: 'comment-alt-edit'
url: '/blog/czas-się-obnosić'
headline: 'Nadszedł czas się obnosić!'
extra: ' przemówienie Sybila z Wrocławskiego Marszu Równości'
-
icon: 'comment-alt-edit'
url: '/blog/rekomendacja-formularze'
headline: 'Rekomendacja Rady w sprawie pytania o płeć w formularzach'
-
icon: 'comment-alt-edit'
url: 'https://www.przemyslenia-maniaka.pl/2019/11/maniak-marudzi-27-niebinarne-tumaczenia.html'
@ -171,12 +222,6 @@ links:
url: 'https://opowiadania.org/wp-content/uploads/2020/09/opo16_gazeta_rd.pdf'
headline: 'Ludzie z komputera, ludzie z internetu'
extra: ' Michał Radomił Wiśniewski o „wojnie kulturowej” o zaimki, o naszym projekcie i o dukaizmach.'
-
icon: 'comment-alt-edit'
lang: ['en']
url: 'https://anglica-journal.com/resources/html/article/details?id=207730'
headline: 'Misgendered in Translation?: Genderqueerness in Polish Translations of English-language Television Series'
extra: ' ANGLICA. An International Journal of English Studies'
-
icon: 'comment-alt-edit'
url: 'http://wasowska.net/2020/09/rowni-wobec-jezyka-o-jezyku-neutralnym-plciowo/'
@ -190,11 +235,6 @@ links:
Jeśli chcesz rozbudzić w uczniach zainteresowanie językiem polskim, spróbuj odejść choć na jedną lekcję
od sztywnych reguł i z pomocą kategorii Literatura strony zaimki.pl
porozmawiać o ewolucji języka i neutratywach. Może uczniowie spróbują wymyślić własne?
-
icon: 'play-circle'
url: 'https://www.youtube.com/watch?v=YOEB6Ixp048'
headline: 'Nie-binarny język polski seminarium naukowe (Queer UW)'
extra: ''
-
icon: 'play-circle'
url: 'https://www.youtube.com/watch?v=BX8ld20YeUc'
@ -298,7 +338,6 @@ links:
url: 'https://www.facebook.com/330540866965366/videos/977896432960282'
headline: 'Osoby, łosie i dukaty wstęp do neutralnej płciowo i niebinarnej polszczyzny'
extra: ' wykład Sybila, <strong>Nowa Siła Kuratorska</strong>'
mediaMentions:
-
icon: 'newspaper'
@ -477,7 +516,7 @@ links:
extra: ' rozdaje przypinki z zaimkami, również nienormatywnymi.'
people:
enabled: false
enabled: true
route: 'znane'
english:
@ -591,21 +630,6 @@ contact:
team:
enabled: true
route: 'kolektyw-rjn'
blog:
manifest: 'Manifest Niebinarnej Polszczyzny'
wystarczyło-zapytać: 'Wystarczyło zapytać…'
krótka-notka-o-osobatywach: 'Krótka notka o osobatywach'
czytanie-ze-zrozumieniem: 'Czytanie ze zrozumieniem'
spis-2021: 'Niebinarny Spis Powszechny 2021 wnioski'
czy-wolno-uzywac: 'Zamiast pierdyliarda dyskusji czy wolno używać zróbmy pierdyliard użyć'
inkluzywne-liczebniki: 'Inkluzywne liczebniki'
zaimki-postpłciowe: 'Zaimki w rodzaju postpłciowym'
zaimki-nie-tylko-osobowe: 'Zaimki nie tylko osobowe'
archie-wyborcza: 'Przemówienie Arcziego na konferencji prasowej ws. transfobii w Gazecie Wyborczej'
rekomendacja-formularze: 'Rekomendacja Rady w sprawie pytania o płeć w formularzach'
podsumowanie-2020: 'Podsumowanie działalności w roku 2020'
gwiezdne-wojny: 'Niebinarność w „Gwiezdnych Wojnach”'
czas-się-obnosić: 'Nadszedł czas się obnosić! przemówienie Sybila z Wrocławskiego Marszu Równości'
support:
enabled: true

View File

@ -1,5 +1,5 @@
<template>
<section>
<section class="mt-4 mt-lg-0">
<div class="d-none d-md-inline-flex btn-group btn-block mb-2 w-100">
<router-link v-for="{name, icon, route} in links" :key="name"
:to="buildRoute(route)"
@ -47,6 +47,6 @@
isActiveRoute(route) {
return decodeURIComponent(this.$route.fullPath).replace(/\/$/, '') === this.buildRoute(route).replace(/\/$/, '');
},
}
},
}
</script>

View File

@ -785,12 +785,17 @@ faq:
links:
header: 'Materiały'
headerLong: 'Dodatkowe materiały'
recommended: 'Polecamy'
blog: 'Blog'
academic: 'Prace naukowe'
links: 'Dodatkowe materiały'
media: 'Zaimki.pl w mediach'
mediaGuests: 'Zaproszone'
mediaMentions: 'Wspomniane'
recommended: 'Polecamy'
social: 'Social media'
languageVersions: 'Inne wersje językowe'
@ -871,7 +876,6 @@ contact:
są tworzone przez kolektyw „Rada Języka Neutralnego”.
logo: 'Logo kolektywu to połączenie symbolu transpłciowości z chmurką dialogową symbolizującą język.'
members: 'Obecny skład'
blog: 'Blog'
upcoming: 'Nadchodzące wersje językowe'
support:

View File

@ -187,10 +187,16 @@ export default {
if (config.links.enabled) {
routes.push({ path: '/' + config.links.route, component: resolve(__dirname, 'routes/links.vue') });
if (Object.keys(config.contact.blog).length) {
if (config.links.academicRoute) {
routes.push({ path: '/' + config.links.academicRoute, component: resolve(__dirname, 'routes/academic.vue') });
}
if (Object.keys(config.links.blog).length) {
routes.push({ path: '/' + config.links.blogRoute, component: resolve(__dirname, 'routes/blog.vue'), name: 'blog' });
routes.push({ path: '/' + config.links.blogRoute + '/:slug', component: resolve(__dirname, 'routes/blogEntry.vue'), name: 'blogEntry' });
}
if (config.links.mediaRoute) {
routes.push({ path: '/' + config.links.mediaRoute, component: resolve(__dirname, 'routes/media.vue') });
}
}
if (config.people.enabled) {

24
routes/academic.vue Normal file
View File

@ -0,0 +1,24 @@
<template>
<div>
<LinksNav/>
<AcademicLinks/>
<Support/>
<section>
<Share :title="$t('links.headerLong')"/>
</section>
</div>
</template>
<script>
import { head } from "../src/helpers";
export default {
head() {
return head({
title: this.$t('links.academic'),
});
},
};
</script>

View File

@ -1,6 +1,11 @@
<template>
<div class="main">
<div>
<LinksNav/>
<Blog/>
<Support/>
<section>
<Share :title="$t('links.blog')"/>
</section>
</div>
</template>
@ -10,7 +15,7 @@
export default {
head() {
return head({
title: this.$t('contact.team.blog'),
title: this.$t('links.blog'),
});
},
};

View File

@ -3,7 +3,7 @@
<div v-else class="blog-post">
<router-link :to="'/' + config.links.blogRoute" v-if="Object.keys(config.contact.blog).length">
<Icon v="pen-nib"/>
<T>contact.team.blog</T>
<T>links.blog</T>
</router-link>
<div v-html="content"></div>

View File

@ -1,5 +1,7 @@
<template>
<div>
<LinksNav v-if="config.links.enabled"/>
<h2>
<Icon v="map-marker-question"/>
<T>faq.headerLong</T>

View File

@ -1,8 +1,8 @@
<template>
<div class="main">
<Blog/>
<div>
<LinksNav/>
<Links/>
<Media/>
<Recommended/>
<Socials/>
<LanguageVersions/>

25
routes/media.vue Normal file
View File

@ -0,0 +1,25 @@
<template>
<div>
<LinksNav/>
<Media/>
<Socials/>
<Support/>
<section>
<Share :title="$t('links.social')"/>
</section>
</div>
</template>
<script>
import { head } from "../src/helpers";
export default {
head() {
return head({
title: this.$t('links.media'),
});
},
};
</script>

View File

@ -1,5 +1,7 @@
<template>
<div>
<LinksNav/>
<h2>
<Icon v="user-friends"/>
<T>people.headerLonger</T>

View File

@ -26,7 +26,7 @@
<router-link :to="'/' + config.links.blogRoute" v-if="Object.keys(config.contact.blog).length"
class="btn btn-outline-primary btn-lg">
<Icon v="pen-nib"/>
<T>contact.team.blog</T>
<T>links.blog</T>
</router-link>
<section>