update
This commit is contained in:
@@ -16,62 +16,68 @@ export default defineComponent({
|
||||
} = useAsyncState("rp-articles", ({ hostUrl }) => getDJAPI(hostUrl, "/rp-articles"));
|
||||
|
||||
await stateIsReady;
|
||||
return () => (
|
||||
<>
|
||||
return () => <>
|
||||
<header>
|
||||
<h1>Ray Peat Deutsche Übersetzungen</h1>
|
||||
</header>
|
||||
<div class="text-slab">
|
||||
<p>
|
||||
<section>
|
||||
<p class="text-slab">
|
||||
Auf dieser Seite befindet sich eine Auswahl der Artikel von Dr. Raymond Peat, die ich in meiner
|
||||
Freizeit ins Deutsche übersetzt habe.
|
||||
Freizeit ins Deutsche übersetzt habe. Die Originale mit Quellenverzeichnis sind am Ende des jeweiligen Artikels verlinkt.
|
||||
</p>
|
||||
<p>
|
||||
Ray Peat war ein US-Amerikaner aus Eugene, Oregon, der neben seinem Studium von Linguistik,
|
||||
Literatur, und Malerei eine Promotion in der Biologie und Physiologie des Alterns und
|
||||
degenerativer Krankheiten absolvierte, mit besonderem Fokus auf Zellen-Stoffwechsel, Hormone,
|
||||
und Ernährungsphysiologie.
|
||||
</p>
|
||||
<p>
|
||||
Nach mehreren Jahren als Professor an diversen Universitäten in den USA und Mexiko begann er
|
||||
Artikel in Form eines Newsletters herauszugeben, von denen mehrere auf{" "}
|
||||
<a href="http://raypeat.com/">seiner Website</a> zu finden sind.
|
||||
</p>
|
||||
<p>
|
||||
Da er in meinem Leben zu einem enormen Verständnis meines Körpers und einem unglaublichen
|
||||
Zurückerlangen meiner Gesundheit und meines Wohlbefindens trotz dem Scheitern mehrerer Ärzte
|
||||
beigetragen hat, und sein Nachlass in Deutschland kaum Publikum aufgrund schwieriger
|
||||
physiologischer Texte genießt, habe ich entschieden hauptsächlich für Freunde und Bekannte
|
||||
einige seiner Artikel ins Deutsche zu übersetzen, damit vielleicht auch ein breiteres Publikum
|
||||
von seinen Ideen profitieren könnte.
|
||||
</p>
|
||||
<p>
|
||||
<h2>Artikelliste</h2>
|
||||
<div class="text-slab">
|
||||
<ul id="article">
|
||||
{rpArticles.value && rpArticles.value.map((_) => (
|
||||
<li>
|
||||
<RouterLink to={{ name: "GEDeutschArticle", params: { articleName: _.slug } }}>
|
||||
{_.title}
|
||||
</RouterLink>
|
||||
{_.tags?.map(tag => <span class="tag">{tag}</span>)}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h3>Zu Ray</h3>
|
||||
<div class="text-slab">
|
||||
<p>
|
||||
Ray Peat war ein US-Amerikaner aus Eugene, Oregon, der neben seinem Studium von Linguistik,
|
||||
Literatur, und Malerei eine Promotion in der Biologie und Physiologie des Alterns und
|
||||
degenerativer Krankheiten absolvierte, mit besonderem Fokus auf Zellen-Stoffwechsel, Hormone,
|
||||
und Ernährungsphysiologie.
|
||||
</p>
|
||||
<p>
|
||||
Nach mehreren Jahren als Professor an diversen Universitäten in den USA und Mexiko begann er
|
||||
Artikel in Form eines Newsletters herauszugeben, von denen mehrere auf{" "}
|
||||
<a href="http://raypeat.com/">seiner Website</a> zu finden sind.
|
||||
</p>
|
||||
<p>
|
||||
Da er in meinem Leben zu einem enormen Verständnis meines Körpers und einem unglaublichen
|
||||
Zurückerlangen meiner Gesundheit und meines Wohlbefindens trotz dem Scheitern mehrerer Ärzte
|
||||
beigetragen hat, und sein Nachlass in Deutschland kaum Publikum aufgrund schwieriger
|
||||
physiologischer Texte genießt, habe ich entschieden hauptsächlich für Freunde und Bekannte
|
||||
einige seiner Artikel ins Deutsche zu übersetzen, damit vielleicht auch ein breiteres Publikum
|
||||
von seinen Ideen profitieren könnte.
|
||||
</p>
|
||||
</div>
|
||||
<h3>Helfen</h3>
|
||||
<p class="text-slab">
|
||||
Falls was bei der Übersetzung auffällt oder besonders unidiomatisch klingt, bzw. der deutschen
|
||||
Fachsprache der Medizin nicht gerecht sein sollte, kannst du mir unter <DJEmail />{" "}
|
||||
eine Mail senden. Meine Muttersprache ist schließlich Englisch und ich bin kein professioneller
|
||||
Übersetzer!
|
||||
Falls jemand Hilfe leisten möchte, sag gerne Bescheid!
|
||||
</p>
|
||||
<p>
|
||||
<h3>Bedienung</h3>
|
||||
<p class="text-slab">
|
||||
Zusätzlich zu der Funktion, den Artikel mit dem Button oben in der Originalversion anzusehen,
|
||||
hat jeder Absatz oben rechts beim drüberhovern mit der Maus einen zusätzlichen Button über den
|
||||
man den jeweiligen Absatz in die andere Sprache wechseln kann, um die Versionen beim Lesen
|
||||
schnell zu vergleichen zu können.
|
||||
</p>
|
||||
</div>
|
||||
<div class="text-slab">
|
||||
<h3>Artikel auswählen:</h3>
|
||||
<ul id="article">
|
||||
{rpArticles.value && rpArticles.value.map((_) => (
|
||||
<li>
|
||||
<RouterLink to={{ name: "GEDeutschArticle", params: { articleName: _.slug } }}>
|
||||
{_.title}
|
||||
</RouterLink>
|
||||
{_.tags?.map(tag => <span class="tag">{tag}</span>)}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
</section>
|
||||
</>;
|
||||
},
|
||||
});
|
||||
|
||||
@@ -41,21 +41,7 @@ export default defineComponent({
|
||||
|
||||
const articleMetadata = computed(() => articleData.value?.find(_ => _.slug === props.articleName));
|
||||
|
||||
const title = computed(() => {
|
||||
return articleContent.value?.split('<h1 lang="de">')[1].split("</h1>")[0] ?? 'Artikel';
|
||||
});
|
||||
|
||||
useHead({ title });
|
||||
|
||||
onServerPrefetch(() =>
|
||||
new Promise<void>((res) => {
|
||||
watchEffect(() => {
|
||||
if (title.value !== "") {
|
||||
res();
|
||||
}
|
||||
});
|
||||
})
|
||||
);
|
||||
useHead({ title: () => articleMetadata.value?.title ?? '' });
|
||||
|
||||
function transformArticleNode(node: Node): VNode | string {
|
||||
if (node.nodeType === node.ELEMENT_NODE) {
|
||||
@@ -64,13 +50,22 @@ export default defineComponent({
|
||||
const children = [...node.childNodes].map((_) => transformArticleNode(_));
|
||||
|
||||
if (el.tagName === "P") {
|
||||
el.classList.add("text-slab");
|
||||
children.unshift(h("button", {
|
||||
class: "swap",
|
||||
onClick: (e) => {
|
||||
(e.target as HTMLButtonElement).parentElement?.classList.toggle("swap");
|
||||
},
|
||||
}, "↻"));
|
||||
(el as HTMLParagraphElement).dataset.tunit = '';
|
||||
}
|
||||
if ('dataset' in el && 'tunit' in (el as HTMLElement).dataset) {
|
||||
if (el.tagName !== 'H1') {
|
||||
el.classList.add("text-slab");
|
||||
} else {
|
||||
el.classList.add("title");
|
||||
}
|
||||
if (!('notranslate' in (el as HTMLElement).dataset)) {
|
||||
children.unshift(h("button", {
|
||||
class: "swap",
|
||||
onClick: (e) => {
|
||||
(e.target as HTMLButtonElement).parentElement?.classList.toggle("swap");
|
||||
},
|
||||
}, "↻"));
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < el.attributes.length; i++) {
|
||||
@@ -80,11 +75,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
if (el.tagName === "H1") {
|
||||
return h("header", attrs, h("h1", {}, children));
|
||||
} else {
|
||||
return h((node as Element).tagName, attrs, children);
|
||||
}
|
||||
return h((node as Element).tagName, attrs, children);
|
||||
} else {
|
||||
return createTextVNode(node.textContent ?? "");
|
||||
}
|
||||
@@ -99,7 +90,6 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
await Promise.all([stateIsReady, articleDataReady]);
|
||||
console.log(articleMetadata.value);
|
||||
|
||||
return () => (
|
||||
<div class="ge-article">
|
||||
@@ -111,7 +101,7 @@ export default defineComponent({
|
||||
</div>
|
||||
<p class="text-slab">
|
||||
Bei dem untenstehenden Artikel handelt es sich um eine hobbymäßige, amateurhafte Übersetzung des
|
||||
Artikels „{ title.value }“ von Ray Peat. Bei Ungenauigkeiten oder Fehlübersetzungen freue ich mich über <DJEmail>eine Mail</DJEmail>!
|
||||
Artikels „{ articleMetadata.value?.title }“ von Ray Peat. Bei Ungenauigkeiten oder Fehlübersetzungen freue ich mich über <DJEmail>eine Mail</DJEmail>!
|
||||
</p>
|
||||
{ articleMetadata.value?.tags?.includes('in-arbeit') && <h5 class="baustelle">🚧 Bitte beachte, dass diese Übersetzung noch in Arbeit und darum nicht fertig ist! 🚧</h5> }
|
||||
<hr />
|
||||
|
||||
Reference in New Issue
Block a user