[nouns] reorganise nullpronominal

This commit is contained in:
Avris 2021-09-28 21:34:25 +02:00
parent 6afdf8bbda
commit 24c95ae0c0
24 changed files with 215 additions and 194 deletions

40
components/Avoiding.vue Normal file
View File

@ -0,0 +1,40 @@
<template>
<div v-if="config.pronouns.null && config.pronouns.null.ideas && config.pronouns.null.ideas.length">
<section v-for="idea in config.pronouns.null.ideas">
<h3>{{idea.header}}</h3>
<p v-if="idea.description">
{{idea.description}}
</p>
<ul>
<li v-for="[exampleFrom, exampleTo] in idea.examples">
<LinkedText :text="exampleFrom"/> <strong><LinkedText :text="exampleTo"/></strong>
</li>
</ul>
</section>
<section v-if="sources && sources[''].length">
<Literature :sources="sources"/>
</section>
</div>
</template>
<script>
import {SourceLibrary} from "../src/classes";
export default {
data() {
return {
sources: undefined,
}
},
async mounted() {
if (!this.config.pronouns.null.routes) {
return;
}
const key = this.config.pronouns.null.routes[0];
this.sources = {
'': new SourceLibrary(await this.$axios.$get(`/sources?pronoun=${key}`)).getForPronoun(key),
};
},
};
</script>

View File

@ -137,12 +137,18 @@
}); });
if (this.config.pronouns.enabled) { if (this.config.pronouns.enabled) {
const extra = ['all', '/' + this.config.pronouns.any]
if (this.config.pronouns.null && this.config.pronouns.null.routes) {
for (let route of this.config.pronouns.null.routes) {
extra.push('/' + route);
}
}
links.push({ links.push({
link: '/' + this.config.pronouns.route, link: '/' + this.config.pronouns.route,
icon: 'tags', icon: 'tags',
text: this.$t('pronouns.header'), text: this.$t('pronouns.header'),
textLong: this.$t('pronouns.headerLong').replace( /(<([^>]+)>)/ig, ''), textLong: this.$t('pronouns.headerLong').replace( /(<([^>]+)>)/ig, ''),
extra: ['all', '/' + this.config.pronouns.any, this.config.pronouns.avoiding ? '/' + this.config.pronouns.avoiding : null], extra: extra,
}); });
} }

View File

@ -7,8 +7,13 @@
props: { props: {
text: { required: true }, text: { required: true },
noicons: { type: Boolean }, noicons: { type: Boolean },
escape: { type: Boolean },
}, },
render(h) { render(h) {
let text = this.text;
if (this.escape) {
text = text.replace(/[&<>"]/g, tag => escapeChars[tag] || tag);
}
if (!this.text) { if (!this.text) {
return h('span'); return h('span');
} }

View File

@ -138,7 +138,9 @@
link = link.toLowerCase(); link = link.toLowerCase();
} }
if (link === this.config.pronouns.any || link === this.config.pronouns.avoiding) { if (link === this.config.pronouns.any
|| (this.config.pronouns.null && this.config.pronouns.null.routes && this.config.pronouns.null.routes.includes(link))
) {
pronounOpinions.push({ pronounOpinions.push({
link, link,
pronoun: link, pronoun: link,

View File

@ -16,7 +16,6 @@ pronouns:
null: false null: false
emoji: false emoji: false
slashes: ['pronoun_n', 'possessive', 'pronoun_d', 'pronoun_a'] slashes: ['pronoun_n', 'possessive', 'pronoun_d', 'pronoun_a']
avoiding: false
others: 'Andere Pronomen' others: 'Andere Pronomen'
pronunciation: pronunciation:

View File

@ -17,12 +17,14 @@ pronouns:
Some like when others alternate between those forms when talking about them. Some like when others alternate between those forms when talking about them.
examples: ['he&she', 'he&they', 'she&they'] examples: ['he&she', 'he&they', 'she&they']
null: null:
description: 'No pronouns / null pronouns / pronounless / nameself' description: >
{/avoiding=Avoiding gendered forms} / {/no-pronouns=no pronouns} / {/null=null pronouns} /
{/pronounless=pronounless} / {/nullpronominal=nullpronominal} / {/nameself=nameself}
history: > history: >
Some people prefer not using any pronouns, instead being referred by name, initial, Some people prefer not using any pronouns, instead being referred by name, initial,
omitting pronouns with passive voice, or restructuring the sentence. See: omitting pronouns with passive voice, or restructuring the sentence.
{/avoiding=Avoiding gendered forms} & See: {https://twitter.com/lypomania/status/1290274971642544128=lypomania's guide},
{https://lgbta.wikia.org/wiki/Nullpronominal=Nullpronominal}. {https://lgbta.wikia.org/wiki/Nullpronominal=Nullpronominal on LGBTA Wiki}
morphemes: morphemes:
pronoun_subject: '#' pronoun_subject: '#'
pronoun_object: '#' pronoun_object: '#'
@ -31,6 +33,39 @@ pronouns:
reflexive: '#self' reflexive: '#self'
examples: [':Andrea', ':S'] examples: [':Andrea', ':S']
template: 'Open one of the examples and simply replace the name/initial in the URL with your own.' template: 'Open one of the examples and simply replace the name/initial in the URL with your own.'
routes: ['avoiding', 'no-pronouns', 'null', 'pronounless', 'nullpronominal', 'nameself']
ideas:
-
header: 'Use names or initials instead of pronouns'
examples:
- ['I talked to him yesterday', 'I talked to {/:Sky=Sky} yesterday']
- ['She is really beautiful', '{/:Soph=Soph} is really beautiful']
-
- 'Her graduation starts soon'
- '{/:J=J}''s graduation starts soon'
-
header: 'Passive voice'
examples:
- ['He answered the phone', 'The phone was answered']
-
- 'Wen takes good care of her cat'
- 'Wen''s cat is well cared for'
-
header: 'Rephrasing the sentence (circumlocution)'
examples:
- ['Lior did it all by himself', 'Lior did it all without any help']
- ['Gael talks in his sleep', 'Gael talks while sleeping']
-
header: 'Replacing a pronoun with a descriptive noun or phrase'
examples:
- ['She landed the plane safely', 'The pilot landed the plane safely']
- ['This is Lea, she is into painting', 'This is Lea. My friend is into painting']
- ['She argues that…', 'The person who started this discussion argues that…']
-
header: 'Dropping pronouns'
examples:
- ['Did you buy Tex her gift?', 'Did you buy Tex a gift?']
- ['Yes, I bought it for her. I will give it to her tomorrow.', 'Yes, I bought it. I will give it tomorrow.']
emoji: emoji:
description: 'Emojiself pronouns' description: 'Emojiself pronouns'
history: '{https://lgbta.wikia.org/wiki/Emojiself_Pronouns=Emojiself} pronouns are intended for online communication and not supposed to be pronounced.' history: '{https://lgbta.wikia.org/wiki/Emojiself_Pronouns=Emojiself} pronouns are intended for online communication and not supposed to be pronounced.'
@ -43,7 +78,6 @@ pronouns:
examples: ['💫', '💙'] examples: ['💫', '💙']
template: 'Open one of the examples and simply replace the emoji in the URL with your own.' template: 'Open one of the examples and simply replace the emoji in the URL with your own.'
slashes: true slashes: true
avoiding: 'avoiding'
others: 'Other pronouns' others: 'Other pronouns'
pronunciation: pronunciation:

View File

@ -82,45 +82,6 @@ pronouns:
othersRaw: 'other' othersRaw: 'other'
or: 'or' or: 'or'
grammarTable: 'Table' grammarTable: 'Table'
avoiding:
header: 'Avoiding gendered forms'
description: >
Some people prefer not using any pronouns, instead being referred by name, initial,
omitting pronouns with passive voice, or restructuring the sentence.
See: {https://twitter.com/lypomania/status/1290274971642544128=@lypomania's guide},
{https://lgbta.wikia.org/wiki/Nullpronominal=Nullpronominal}
ideas:
-
header: 'Use names or initials instead of pronouns'
examples:
- ['I talked to him yesterday', 'I talked to {/:Sky=Sky} yesterday']
- ['She is really beautiful', '{/:Soph=Soph} is really beautiful']
-
- 'Her graduation starts soon'
- '{/:J=J}''s graduation starts soon'
-
header: 'Passive voice'
examples:
- ['He answered the phone', 'The phone was answered']
-
- 'Wen takes good care of her cat'
- 'Wen''s cat is well cared for'
-
header: 'Rephrasing the sentence (circumlocution)'
examples:
- ['Lior did it all by himself', 'Lior did it all without any help']
- ['Gael talks in his sleep', 'Gael talks while sleeping']
-
header: 'Replacing a pronoun with a descriptive noun or phrase'
examples:
- ['She landed the plane safely', 'The pilot landed the plane safely']
- ['This is Lea, she is into painting', 'This is Lea. My friend is into painting']
- ['She argues that…', 'The person who started this discussion argues that…']
-
header: 'Dropping pronouns'
examples:
- ['Did you buy Tex her gift?', 'Did you buy Tex a gift?']
- ['Yes, I bought it for her. I will give it to her tomorrow.', 'Yes, I bought it. I will give it tomorrow.']
sources: sources:
header: 'Sources' header: 'Sources'

View File

@ -16,7 +16,6 @@ pronouns:
null: false null: false
emoji: false emoji: false
slashes: false slashes: false
avoiding: false
others: 'Otros pronombres' others: 'Otros pronombres'
pronunciation: pronunciation:

View File

@ -19,7 +19,6 @@ pronouns:
null: false null: false
emoji: false emoji: false
slashes: true slashes: true
avoiding: false
others: 'Autres pronoms' others: 'Autres pronoms'
pronunciation: pronunciation:

View File

@ -36,7 +36,6 @@ pronouns:
examples: ['💫', '💙'] examples: ['💫', '💙']
template: 'Open een van de voorbeelden en vervang de emoji in de URL met jouw eigen emoji.' template: 'Open een van de voorbeelden en vervang de emoji in de URL met jouw eigen emoji.'
slashes: true slashes: true
avoiding: false
others: 'Andere voornaamwoorden' others: 'Andere voornaamwoorden'
threeForms: true threeForms: true

View File

@ -18,7 +18,6 @@ pronouns:
null: false null: false
emoji: false emoji: false
slashes: true slashes: true
avoiding: false
others: 'Andre pronomen' others: 'Andre pronomen'
pronunciation: pronunciation:

View File

@ -79,7 +79,6 @@ pronouns:
othersRaw: 'andre' othersRaw: 'andre'
or: 'eller' or: 'eller'
grammarTable: 'Tabell' grammarTable: 'Tabell'
avoiding: false
sources: sources:
header: 'Kilder' header: 'Kilder'

View File

@ -46,8 +46,100 @@ pronouns:
honorific: '#' honorific: '#'
examples: ['💫', '💙', '🐿'] examples: ['💫', '💙', '🐿']
template: 'Otwórz dowolny z przykładów i podmień emoji w URLu na swoje.' template: 'Otwórz dowolny z przykładów i podmień emoji w URLu na swoje.'
null: false null:
avoiding: 'unikanie' description: '{/unikanie=Unikanie form nacechowanych płciowo}'
history: >
Niektóre osoby niebinarne preferują używanie form unikających precyzowania płci
zamiast tych nacechowanych czy to binarnie czy niebinarnie.
Warto też używać ich mówiąc o osobach, których płci nie znamy.
Choć w silnie zgenderyzowanym języku polskim jest to względnie trudne do zrobienia
i może lekko zmieniać znaczenie zdania,
to jednak wcale nie jest niemożliwe.
routes: ['unikanie']
ideas:
-
header: 'Zmiana podmiotu zdania'
examples:
- [ 'usłyszałam dzwonek telefonu', 'zadzwonił telefon' ]
- [ 'przestraszyłem się nagłego hałasu', 'jakiś nagły hałas mnie przestraszył' ]
- [ 'powinieneś skoczyć do sklepu', 'trzeba by skoczyć do sklepu' ]
-
header: 'Strona bierna'
examples:
- [ 'zgubił telefon', 'telefon został zgubiony' ]
- [ 'znalazłam telefon', 'telefon został znaleziony' ]
-
header: 'Forma bezosobowa'
examples:
- [ 'pani w urzędzie powiedziała mi', 'w urzędzie powiedziano mi' ]
- [ 'znalazłam telefon', 'znaleziono telefon' ]
- [ 'jak jesteś zalogowany, to możesz edytować wpisy', 'jak się jest zalogowanym, można edytować wpisy' ]
-
header: 'Bezosobowe użycie 3. os. mnogiej'
examples:
- [ 'pani w urzędzie powiedziała mi', 'w urzędzie powiedzieli mi' ]
-
header: 'Podmiot logiczny w celowniku'
examples:
- [ 'przypomniałem sobie', 'przypomniało mi się' ]
- [ 'zmarzłam', 'zrobiło mi się zimno' ]
- [ 'zrobiłem', 'udało mi się zrobić' ]
-
header: 'Bezokolicznikowy czas przyszły'
examples:
- [ 'będę robiła', 'będę robić' ]
- [ 'będę jadł', 'będę jeść' ]
-
header: 'Czas teraźniejszy i przyszły zamiast przeszłego'
examples:
- [ 'gdy robiłem wczoraj obiad, skaleczyłem się nożem', 'robię wczoraj obiad i jak się nie skaleczę' ]
-
header: 'Imiesłowy'
examples:
- [ 'usiadłem na kanapie', 'usiadłszy na kanapie' ]
- [ 'wypiłam herbatę', 'wypiwszy herbatę' ]
- [ 'posprzątałem mieszkanie', 'mieszkanie posprzątane' ]
-
header: 'Unikanie trybu przypuszczającego'
examples:
- [ 'czy mógłbyś mi pomóc?', 'czy możesz mi pomóc?' ]
- [ 'może bym tak pojechała na wakacje?', 'może pojadę na wakacje?' ]
-
header: 'Osobatywy i inne normatywne neutralne rzeczowniki'
examples:
- [ 'zarządca', 'osoba zarządzająca' ]
- [ 'kandydaci i kandydatki', 'osoby kandydujące' ]
- [ 'proszę przyjść do szkoły z mamą lub tatą', 'proszę przyjść do szkoły z opiekunem' ]
- [ 'mama i tata Ani są bardzo mili', 'rodzice Ani są bardzo mili' ]
- [ 'dziennikarze oko.press', 'redakcja oko.press' ]
- [ 'fani Mariny', 'fandom Mariny' ]
-
header: 'Skrócone zaimki'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- [ 'to dla niego', 'to dlań' ]
- [ 'mieszkam u niej', 'mieszkam uń' ]
-
header: 'Skrócone zaimki + strona bierna'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- [ 'zrobiła', 'było przezeń zrobione' ]
-
header: 'Staropolska, rzeczownikowa odmiana przymiotników'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- [ 'jestem szczęśliwa!', 'jestem szczęśliw!' ]
- [ 'czemu jesteś taki zmartwiony?', 'czemu jesteś tak zmartwion?' ]
-
header: 'Skróty'
examples:
- [ 'Katarzyna Nowak', 'K. Nowak' ]
- [ 'Szanowny Pan Białek', 'Sz. P. Białek' ]
- [ 'Towarzyszka Q', 'Tow. Q' ]
-
header: 'Liczebniki zbiorowe'
examples:
- [ 'dziesięciu pracowników', 'dziesięcioro pracujących' ]
others: 'Pozostałe formy' others: 'Pozostałe formy'
pronunciation: pronunciation:

View File

@ -90,100 +90,6 @@ pronouns:
Choć dla wielu osób niezmiernie ważne jest, by używać wobec nich konkretnych zaimków, Choć dla wielu osób niezmiernie ważne jest, by używać wobec nich konkretnych zaimków,
innym nie przeszkadza zwracanie się w dowolny sposób o ile wiadomo z kontekstu, że to o nich mowa. innym nie przeszkadza zwracanie się w dowolny sposób o ile wiadomo z kontekstu, że to o nich mowa.
options: 'przejrzyj listę możliwości [share]{/zaimki=tutaj}.' options: 'przejrzyj listę możliwości [share]{/zaimki=tutaj}.'
avoiding:
header: 'Unikanie form nacechowanych płciowo'
description: >
Niektóre osoby niebinarne preferują używanie form unikających precyzowania płci
zamiast tych nacechowanych czy to binarnie czy niebinarnie.
Warto też używać ich mówiąc o osobach, których płci nie znamy.
Choć w silnie zgenderyzowanym języku polskim jest to względnie trudne do zrobienia
i może lekko zmieniać znaczenie zdania,
to jednak wcale nie jest niemożliwe.
ideas:
-
header: 'Zmiana podmiotu zdania'
examples:
- ['usłyszałam dzwonek telefonu', 'zadzwonił telefon']
- ['przestraszyłem się nagłego hałasu', 'jakiś nagły hałas mnie przestraszył']
- ['powinieneś skoczyć do sklepu', 'trzeba by skoczyć do sklepu']
-
header: 'Strona bierna'
examples:
- ['zgubił telefon', 'telefon został zgubiony']
- ['znalazłam telefon', 'telefon został znaleziony']
-
header: 'Forma bezosobowa'
examples:
- ['pani w urzędzie powiedziała mi', 'w urzędzie powiedziano mi']
- ['znalazłam telefon', 'znaleziono telefon']
- ['jak jesteś zalogowany, to możesz edytować wpisy', 'jak się jest zalogowanym, można edytować wpisy']
-
header: 'Bezosobowe użycie 3. os. mnogiej'
examples:
- ['pani w urzędzie powiedziała mi', 'w urzędzie powiedzieli mi']
-
header: 'Podmiot logiczny w celowniku'
examples:
- ['przypomniałem sobie', 'przypomniało mi się']
- ['zmarzłam', 'zrobiło mi się zimno']
- ['zrobiłem', 'udało mi się zrobić']
-
header: 'Bezokolicznikowy czas przyszły'
examples:
- ['będę robiła', 'będę robić']
- ['będę jadł', 'będę jeść']
-
header: 'Czas teraźniejszy i przyszły zamiast przeszłego'
examples:
- ['gdy robiłem wczoraj obiad, skaleczyłem się nożem', 'robię wczoraj obiad i jak się nie skaleczę']
-
header: 'Imiesłowy'
examples:
- ['usiadłem na kanapie', 'usiadłszy na kanapie']
- ['wypiłam herbatę', 'wypiwszy herbatę']
- ['posprzątałem mieszkanie', 'mieszkanie posprzątane']
-
header: 'Unikanie trybu przypuszczającego'
examples:
- ['czy mógłbyś mi pomóc?', 'czy możesz mi pomóc?']
- ['może bym tak pojechała na wakacje?', 'może pojadę na wakacje?']
-
header: 'Osobatywy i inne normatywne neutralne rzeczowniki'
examples:
- ['zarządca', 'osoba zarządzająca']
- ['kandydaci i kandydatki', 'osoby kandydujące']
- ['proszę przyjść do szkoły z mamą lub tatą', 'proszę przyjść do szkoły z opiekunem']
- ['mama i tata Ani są bardzo mili', 'rodzice Ani są bardzo mili']
- ['dziennikarze oko.press', 'redakcja oko.press']
- ['fani Mariny', 'fandom Mariny']
-
header: 'Skrócone zaimki'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- ['to dla niego', 'to dlań']
- ['mieszkam u niej', 'mieszkam uń']
-
header: 'Skrócone zaimki + strona bierna'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- ['zrobiła', 'było przezeń zrobione']
-
header: 'Staropolska, rzeczownikowa odmiana przymiotników'
description: 'Choć historycznie formy te są męskie, to współcześnie są na tyle rzadko używanie, że warto próbować je reinterpretować.'
examples:
- ['jestem szczęśliwa!', 'jestem szczęśliw!']
- ['czemu jesteś taki zmartwiony?', 'czemu jesteś tak zmartwion?']
-
header: 'Skróty'
examples:
- ['Katarzyna Nowak', 'K. Nowak']
- ['Szanowny Pan Białek', 'Sz. P. Białek']
- ['Towarzyszka Q', 'Tow. Q']
-
header: 'Liczebniki zbiorowe'
examples:
- ['dziesięciu pracowników', 'dziesięcioro pracujących']
others: 'Inne formy' others: 'Inne formy'
othersRaw: 'inne' othersRaw: 'inne'
or: 'lub' or: 'lub'

View File

@ -16,7 +16,6 @@ pronouns:
null: false null: false
emoji: false emoji: false
slashes: false slashes: false
avoiding: false
others: 'Outros pronomes' others: 'Outros pronomes'
threeForms: true threeForms: true

View File

@ -27,7 +27,6 @@ pronouns:
template: 'Open one of the examples and simply replace the name/initial in the URL with your own.' template: 'Open one of the examples and simply replace the name/initial in the URL with your own.'
emoji: false emoji: false
slashes: true slashes: true
avoiding: false
others: 'Other pronouns' others: 'Other pronouns'
pronunciation: pronunciation:

View File

@ -23,7 +23,6 @@ pronouns:
examples: ['💫', '💙'] examples: ['💫', '💙']
template: '打開一個例句,用自己的表情符號代替位址裏面的表情符號。' template: '打開一個例句,用自己的表情符號代替位址裏面的表情符號。'
slashes: false slashes: false
avoiding: false
others: 'Other pronouns' others: 'Other pronouns'
pronunciation: pronunciation:

View File

@ -266,8 +266,10 @@ export default {
if (config.pronouns.enabled) { if (config.pronouns.enabled) {
routes.push({ path: '/' + config.pronouns.any, component: resolve(__dirname, 'routes/any.vue') }); routes.push({ path: '/' + config.pronouns.any, component: resolve(__dirname, 'routes/any.vue') });
if (config.pronouns.avoiding) { if (config.pronouns.null && config.pronouns.null.routes) {
routes.push({ path: '/' + config.pronouns.avoiding, component: resolve(__dirname, 'routes/avoiding.vue') }); for (let route of config.pronouns.null.routes) {
routes.push({ path: '/' + route, component: resolve(__dirname, 'routes/avoiding.vue') });
}
} }
} }

View File

@ -1,49 +1,30 @@
<template> <template>
<div> <div>
<h2> <h2>
<T>pronouns.avoiding.header</T> {{ clearLinkedText(config.pronouns.null.description) }}
</h2> </h2>
<p> <p>
<T>pronouns.avoiding.description</T> <LinkedText :text="config.pronouns.null.history"/>
</p> </p>
<section v-for="idea in $t('pronouns.avoiding.ideas')"> <Avoiding/>
<h3>{{idea.header}}</h3>
<p v-if="idea.description">
{{idea.description}}
</p>
<ul>
<li v-for="[exampleFrom, exampleTo] in idea.examples">
<LinkedText :text="exampleFrom"/> <strong><LinkedText :text="exampleTo"/></strong>
</li>
</ul>
</section>
<section v-if="sources && Object.keys(sources).length">
<Literature :sources="sources"/>
</section>
</div> </div>
</template> </template>
<script> <script>
import {SourceLibrary} from "../src/classes"; import { head, clearLinkedText } from "../src/helpers";
import { head } from "../src/helpers";
export default { export default {
data() { data() {
return { return {
sources: undefined, clearLinkedText
}
},
async mounted() {
this.sources = {
'': new SourceLibrary(await this.$axios.$get(`/sources?pronoun=${this.config.pronouns.avoiding}`)).getForPronoun(this.config.pronouns.avoiding),
}; };
}, },
head() { head() {
return head({ return head({
title: this.$t('pronouns.avoiding.header'), title: this.config.pronouns.null.description,
description: this.config.pronouns.null.history,
}); });
}, },
}; };

View File

@ -342,9 +342,11 @@
}, },
validatePronoun(pronoun) { validatePronoun(pronoun) {
pronoun = this.normalisePronoun(pronoun); pronoun = this.normalisePronoun(pronoun);
return pronoun === this.config.pronouns.any || pronoun === this.config.pronouns.avoiding || buildPronoun(pronouns, pronoun) return pronoun === this.config.pronouns.any
? null || (this.config.pronouns.null && this.config.pronouns.null.routes && this.config.pronouns.null.routes.includes(pronoun))
: 'profile.pronounsNotFound' || buildPronoun(pronouns, pronoun)
? null
: 'profile.pronounsNotFound'
}, },
}, },
computed: { computed: {

View File

@ -32,7 +32,7 @@
</h2> </h2>
<p class="h6 small text-center mb-0 mt-2" v-if="selectedPronoun.description"> <p class="h6 small text-center mb-0 mt-2" v-if="selectedPronoun.description">
<em> <em>
(<Spelling escape :text="Array.isArray(selectedPronoun.description) (<LinkedText escape :text="Array.isArray(selectedPronoun.description)
? ($t('pronouns.alt.header') + ': ' + selectedPronoun.description.join(glue)) ? ($t('pronouns.alt.header') + ': ' + selectedPronoun.description.join(glue))
: selectedPronoun.description"/>) : selectedPronoun.description"/>)
</em> </em>
@ -98,6 +98,8 @@
</ul> </ul>
</section> </section>
<Avoiding v-if="isNull"/>
<section> <section>
<Share :title="`${$t('pronouns.intro')}: ${selectedPronoun.name(glue)}`"/> <Share :title="`${$t('pronouns.intro')}: ${selectedPronoun.name(glue)}`"/>
</section> </section>
@ -129,8 +131,9 @@
export default { export default {
components: {LinkedText, GrammarTables }, components: {LinkedText, GrammarTables },
data() { data() {
const key = decodeURIComponent(this.$route.path.substr(1).replace(/\/$/, ''));
const selectedPronoun = this.config.pronouns.enabled const selectedPronoun = this.config.pronouns.enabled
? buildPronoun(pronouns, decodeURIComponent(this.$route.path.substr(1).replace(/\/$/, ''))) ? buildPronoun(pronouns, key)
: null; : null;
return { return {
@ -145,6 +148,8 @@
counter: 0, counter: 0,
counterHandle: null, counterHandle: null,
counterSpeed: 1000, counterSpeed: 1000,
isNull: key.startsWith(':'),
} }
}, },
async asyncData({app}) { async asyncData({app}) {

View File

@ -145,7 +145,7 @@
</li> </li>
<li v-if="config.pronouns.null !== false" class="list-group-item" id="nameself"> <li v-if="config.pronouns.null !== false" class="list-group-item" id="nameself">
<p class="h5"> <p class="h5">
<Spelling :text="config.pronouns.null.description"/> <LinkedText :text="config.pronouns.null.description"/>
</p> </p>
<div class="small my-1" v-if="config.pronouns.null.history"> <div class="small my-1" v-if="config.pronouns.null.history">
<Icon v="info-circle"/> <Icon v="info-circle"/>
@ -177,14 +177,6 @@
<T>pronouns.any.description</T> <T>pronouns.any.description</T>
</p> </p>
</li> </li>
<li v-if="config.pronouns.avoiding" class="list-group-item">
<p class="h5">
<nuxt-link :to="'/' + config.pronouns.avoiding"><T>pronouns.avoiding.header</T></nuxt-link>
</p>
<p>
<T>pronouns.avoiding.description</T>
</p>
</li>
</ul> </ul>
</section> </section>

View File

@ -67,7 +67,7 @@ export const buildPronoun = (pronouns, path) => {
pronoun = buildPronounFromTemplate(path, process.env.CONFIG.pronouns.emoji); pronoun = buildPronounFromTemplate(path, process.env.CONFIG.pronouns.emoji);
} }
if (!pronoun && process.env.CONFIG.pronouns.null !== false && path.startsWith(':') && path.length < 12) { if (!pronoun && process.env.CONFIG.pronouns.null && process.env.CONFIG.pronouns.null.morphemes && path.startsWith(':') && path.length < 12) {
pronoun = buildPronounFromTemplate(path.substring(1), process.env.CONFIG.pronouns.null); pronoun = buildPronounFromTemplate(path.substring(1), process.env.CONFIG.pronouns.null);
} }

View File

@ -23,6 +23,7 @@ export const head = ({title, description, banner}) => {
const meta = { meta: [] }; const meta = { meta: [] };
if (title) { if (title) {
title = clearLinkedText(title);
title += ' • ' + process.env.TITLE; title += ' • ' + process.env.TITLE;
meta.title = title; meta.title = title;
meta.meta.push({ hid: 'og:title', property: 'og:title', content: title }); meta.meta.push({ hid: 'og:title', property: 'og:title', content: title });
@ -30,6 +31,7 @@ export const head = ({title, description, banner}) => {
} }
if (description) { if (description) {
description = clearLinkedText(description);
meta.meta.push({ hid: 'description', name: 'description', content: description }); meta.meta.push({ hid: 'description', name: 'description', content: description });
meta.meta.push({ hid: 'og:description', property: 'og:description', content: description }); meta.meta.push({ hid: 'og:description', property: 'og:description', content: description });
meta.meta.push({ hid: 'twitter:description', property: 'twitter:description', content: description }); meta.meta.push({ hid: 'twitter:description', property: 'twitter:description', content: description });