| @@ -0,0 +1,21 @@ | |||||
| import { defineComponent } from "vue"; | |||||
| export default defineComponent({ | |||||
| name: "dj-email", | |||||
| setup(_props, { slots }) { | |||||
| function clickMail() { | |||||
| const a = "gmail"; | |||||
| const b = "com"; | |||||
| const c = "danjledda"; | |||||
| let link = "ma" + "il" + "" + "to:" + c + a + b; | |||||
| link = link.slice(0, 10) + "." + link.slice(10, 11) + "." + link.slice(11, 16) + "@" + link.slice(16, 21) + | |||||
| "." + link.slice(21); | |||||
| window.location.href = link; | |||||
| } | |||||
| return () => ( | |||||
| <a href="#" onClick={clickMail}> | |||||
| { slots.default ? slots.default() : 'dan.j.ledda [at] gmail [dot] com' } | |||||
| </a> | |||||
| ); | |||||
| }, | |||||
| }); | |||||
| @@ -0,0 +1,355 @@ | |||||
| import { defineComponent, computed, ref } from 'vue'; | |||||
| /* | |||||
| class GrainInput { | |||||
| static inputs = []; | |||||
| name; | |||||
| unit; | |||||
| mpg; | |||||
| inputEl; | |||||
| reference; | |||||
| * @param {{ | |||||
| * name: string, | |||||
| * mpg: number, | |||||
| * reference: GrainInput | 'self', | |||||
| * unit: string, | |||||
| * step?: number, | |||||
| * }} opts | |||||
| constructor(opts) { | |||||
| this.name = opts.name; | |||||
| this.mpg = opts.mpg; | |||||
| this.unit = opts.unit; | |||||
| this.reference = opts.reference === "self" ? this : opts.reference; | |||||
| this.inputEl = h("input", { type: "number", min: 0, step: opts.step ?? 1 }); | |||||
| eventBus.addListener(this); | |||||
| } | |||||
| attachInput(insertionPoint) { | |||||
| insertionPoint.appendChild(this.inputEl); | |||||
| this.inputEl.valueAsNumber = this.mpg; | |||||
| this.inputEl.addEventListener("input", (e) => { | |||||
| const newVal = (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| if (this !== this.reference) { | |||||
| this.reference.inputEl.valueAsNumber = newVal / this.mpg; | |||||
| } | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| } | |||||
| onChange() { | |||||
| if (!this.reference || this === this.reference) return; | |||||
| this.inputEl.valueAsNumber = this.mpg * this.reference.inputEl.valueAsNumber; | |||||
| } | |||||
| getCurrentValue() { | |||||
| return this.inputEl.valueAsNumber; | |||||
| } | |||||
| } | |||||
| class RatiosController { | |||||
| t3Ratio = h("input", { type: "number", min: 0, step: 1 }); | |||||
| t4Ratio = h("input", { type: "number", min: 0, step: 1 }); | |||||
| t3Syn = h("input", { type: "number", min: 0 }); | |||||
| t4Syn = h("input", { type: "number", min: 0 }); | |||||
| t3 = 1; | |||||
| t4 = 4; | |||||
| reference; | |||||
| constructor(referenceInput) { | |||||
| this.reference = referenceInput; | |||||
| } | |||||
| attachInputs(inputs) { | |||||
| inputs.t3Ratio.replaceWith(this.t3Ratio); | |||||
| inputs.t4Ratio.replaceWith(this.t4Ratio); | |||||
| inputs.t3Syn.replaceWith(this.t3Syn); | |||||
| inputs.t4Syn.replaceWith(this.t4Syn); | |||||
| this.t3Ratio.addEventListener("input", (e) => { | |||||
| const newVal = (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.t3 = newVal; | |||||
| this.onChange(); | |||||
| }); | |||||
| this.t4Ratio.addEventListener("input", (e) => { | |||||
| const newVal = (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.t4 = newVal; | |||||
| this.onChange(); | |||||
| }); | |||||
| this.t3Syn.addEventListener("input", (e) => { | |||||
| const newVal = (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.reference.inputEl.valueAsNumber = newVal / MPG_T3_SYN + this.t4Syn.valueAsNumber / MPG_T4_SYN; | |||||
| this.t3 = newVal; | |||||
| this.t4 = this.t4Syn.valueAsNumber; | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| this.t4Syn.addEventListener("input", (e) => { | |||||
| const newVal = (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.reference.inputEl.valueAsNumber = newVal / MPG_T4_SYN + this.t3Syn.valueAsNumber / MPG_T3_SYN; | |||||
| this.t3 = this.t3Syn.valueAsNumber; | |||||
| this.t4 = newVal; | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| eventBus.addListener(this); | |||||
| this.onChange(); | |||||
| } | |||||
| onChange() { | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| } | |||||
| updateRatio() { | |||||
| this.t3Ratio.valueAsNumber = this.t3; | |||||
| this.t4Ratio.valueAsNumber = this.t4; | |||||
| } | |||||
| updateSyn() { | |||||
| const total = this.t3 + this.t4; | |||||
| const t3Proportion = this.t3 / total; | |||||
| const t4Proportion = this.t4 / total; | |||||
| const grainsSyn = t3Proportion / MPG_T3_SYN + t4Proportion / MPG_T4_SYN; | |||||
| const multiplierSyn = this.reference.getCurrentValue() / grainsSyn; | |||||
| this.t3Syn.valueAsNumber = t3Proportion * multiplierSyn; | |||||
| this.t4Syn.valueAsNumber = t4Proportion * multiplierSyn; | |||||
| } | |||||
| } | |||||
| class ThyroidConverter extends DJElement { | |||||
| static styles = css``; | |||||
| static template = html; | |||||
| constructor() { | |||||
| super(); | |||||
| const mainGrainInput = new GrainInput({ | |||||
| name: "Grains", | |||||
| mpg: 1, | |||||
| reference: "self", | |||||
| unit: "", | |||||
| step: 0.1, | |||||
| }); | |||||
| const ratiosController = new RatiosController(mainGrainInput); | |||||
| const inputs = [ | |||||
| mainGrainInput, | |||||
| new GrainInput({ | |||||
| name: "Armour, Natural Dessicated Thyroid", | |||||
| mpg: 60, | |||||
| unit: "mg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| new GrainInput({ | |||||
| name: 'Liothyronine (Triiodothyronine, "Cytomel", T3)', | |||||
| mpg: MPG_T3_SYN, | |||||
| unit: "mcg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| new GrainInput({ | |||||
| name: 'Levothyroxine (Thyroxine, "Cynoplus", T4)', | |||||
| mpg: MPG_T4_SYN, | |||||
| unit: "mcg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| ]; | |||||
| const tableBody = qs("#table-body", this.root); | |||||
| const compoundedStart = qs("#compounded-start", this.root); | |||||
| for (const field of inputs) { | |||||
| const newRow = h("tr", {}, [ | |||||
| h("td", { textContent: field.name }), | |||||
| h("td", {}, [ | |||||
| h("div", { className: "input", style: "display: inline-block;" }), | |||||
| h("span", { className: "breathe", textContent: field.unit }), | |||||
| ]), | |||||
| ]); | |||||
| field.attachInput(qs("div.input", newRow)); | |||||
| tableBody.insertBefore(newRow, compoundedStart); | |||||
| } | |||||
| ratiosController.attachInputs({ | |||||
| t3Ratio: qs(".ratios .t3", tableBody), | |||||
| t4Ratio: qs(".ratios .t4", tableBody), | |||||
| t3Syn: qs(".synthetic .t3", tableBody), | |||||
| t4Syn: qs(".synthetic .t4", tableBody), | |||||
| }); | |||||
| } | |||||
| } | |||||
| */ | |||||
| export default defineComponent({ | |||||
| name: 'ge-calculator', | |||||
| setup() { | |||||
| const t3Ratio = ref(1); | |||||
| const t4Ratio = ref(4); | |||||
| const MPG_T3_SYN = 25; | |||||
| const MPG_T4_SYN = 100; | |||||
| const inputDefs = [ | |||||
| { | |||||
| name: "Grains", | |||||
| mpg: 1, | |||||
| unit: "", | |||||
| step: 0.1, | |||||
| }, | |||||
| { | |||||
| name: "Armour, Natural Dessicated Thyroid", | |||||
| mpg: 60, | |||||
| unit: "mg", | |||||
| }, | |||||
| { | |||||
| name: 'Liothyronine (Triiodothyronine, "Cytomel", T3)', | |||||
| mpg: MPG_T3_SYN, | |||||
| unit: "mcg", | |||||
| }, | |||||
| { | |||||
| name: 'Levothyroxine (Thyroxine, "Cynoplus", T4)', | |||||
| mpg: MPG_T4_SYN, | |||||
| unit: "mcg", | |||||
| }, | |||||
| ]; | |||||
| const numGrains = ref(2); | |||||
| const ratio = computed(() => t3Ratio.value + t4Ratio.value); | |||||
| const compounded = computed(() => { | |||||
| const total = t3Ratio.value + t4Ratio.value; | |||||
| const t3Proportion = t3Ratio.value / total; | |||||
| const t4Proportion = t4Ratio.value / total; | |||||
| const grainsSyn = t3Proportion / MPG_T3_SYN + t4Proportion / MPG_T4_SYN; | |||||
| const multiplierSyn = numGrains.value / grainsSyn; | |||||
| return { | |||||
| t3Syn: t3Proportion * multiplierSyn, | |||||
| t4Syn: t4Proportion * multiplierSyn, | |||||
| }; | |||||
| }); | |||||
| return () => <> | |||||
| <header> | |||||
| <h1>Thyroid Calculator</h1> | |||||
| </header> | |||||
| <div class="text-slab"> | |||||
| <p> | |||||
| Use this calculator to convert between different forms and units of thyroid hormone. Common | |||||
| synthetic, pure and natural dessicated forms are listed. The last section of the table provides | |||||
| input fields for a specified ratio of T3 to T4, and will give the dosages required for both the | |||||
| synthetic and pure forms. All dosages given are based on the "Grains" field at the beginning of the | |||||
| table, but editing any field will automatically update the rest to keep them in sync. | |||||
| </p> | |||||
| </div> | |||||
| <div class="text-slab ge-calculator"> | |||||
| <table> | |||||
| <tbody> | |||||
| { inputDefs.map((_, i) => ( | |||||
| <tr key={_.name}> | |||||
| <td> | |||||
| { _.name } | |||||
| </td> | |||||
| <td class="right"> | |||||
| <div style="display: inline-block;"> | |||||
| <input | |||||
| value={_.name === 'Grains' ? numGrains.value : _.mpg * numGrains.value} | |||||
| onInput={(e) => { | |||||
| const val = (e.target as HTMLInputElement).valueAsNumber; | |||||
| if (_.name === 'Grains') { | |||||
| numGrains.value = val; | |||||
| } else { | |||||
| numGrains.value = _.mpg / val; | |||||
| } | |||||
| }} | |||||
| min="0" | |||||
| step={ _.step ?? 1 } | |||||
| type="number" /> | |||||
| </div> | |||||
| <span class="breathe">{ _.unit }</span> | |||||
| </td> | |||||
| </tr> | |||||
| ))} | |||||
| <tr><td colspan="2"><strong>Compounded (T3 and T4, "Cynpolus")</strong></td></tr> | |||||
| <tr class="ratios"> | |||||
| <td> | |||||
| Desired Ratio (T3:T4) | |||||
| </td> | |||||
| <td class="right"> | |||||
| <div> | |||||
| <input | |||||
| value={t3Ratio.value} | |||||
| onInput={(e) => { | |||||
| t3Ratio.value = (e.currentTarget as HTMLInputElement).valueAsNumber; | |||||
| }} | |||||
| min="0" | |||||
| step="1" | |||||
| type="number" /> | |||||
| </div> : <div> | |||||
| <input | |||||
| value={t4Ratio.value} | |||||
| onInput={(e) => { | |||||
| t4Ratio.value = (e.currentTarget as HTMLInputElement).valueAsNumber; | |||||
| }} | |||||
| min="0" | |||||
| step="1" | |||||
| type="number" /> | |||||
| </div> | |||||
| </td> | |||||
| </tr> | |||||
| <tr class="synthetic"> | |||||
| <td> | |||||
| Synthetic T3/T4 Combo | |||||
| </td> | |||||
| <td class="right"> | |||||
| <div> | |||||
| <input | |||||
| value={compounded.value.t3Syn} | |||||
| onInput={(e) => { | |||||
| t4Ratio.value = compounded.value.t4Syn; | |||||
| t3Ratio.value = (e.currentTarget as HTMLInputElement).valueAsNumber; | |||||
| numGrains.value = t3Ratio.value / MPG_T3_SYN + t4Ratio.value / MPG_T4_SYN; | |||||
| }} | |||||
| min="0" | |||||
| step="1" | |||||
| type="number" /> | |||||
| </div> : <div> | |||||
| <input | |||||
| value={compounded.value.t4Syn} | |||||
| onInput={(e) => { | |||||
| t3Ratio.value = compounded.value.t3Syn; | |||||
| t4Ratio.value = (e.currentTarget as HTMLInputElement).valueAsNumber; | |||||
| numGrains.value = t3Ratio.value / MPG_T3_SYN + t4Ratio.value / MPG_T4_SYN; | |||||
| }} | |||||
| min="0" | |||||
| step="1" | |||||
| type="number" /> | |||||
| </div> | |||||
| </td> | |||||
| </tr> | |||||
| </tbody> | |||||
| </table> | |||||
| </div> | |||||
| <div class="text-slab"> | |||||
| <strong>Changelog:</strong> | |||||
| <p> | |||||
| <ul> | |||||
| <li> | |||||
| November 2024: Migrated to new web framework and fixed some buggy input. | |||||
| </li> | |||||
| <li> | |||||
| 13th March 2024: Removed the synthetic/pure distinction as it was confusing and unnecessary | |||||
| bloat. | |||||
| </li> | |||||
| </ul> | |||||
| </p> | |||||
| </div> | |||||
| </>; | |||||
| } | |||||
| }); | |||||
| @@ -0,0 +1,61 @@ | |||||
| import { defineComponent } from 'vue'; | |||||
| import { RouterLink } from 'vue-router'; | |||||
| import DJEmail from "@/DJEmail.tsx"; | |||||
| export default defineComponent({ | |||||
| name: 'ge-deutsch', | |||||
| setup() { | |||||
| return () => <> | |||||
| <header> | |||||
| <h1>Ray Peat Deutsche Übersetzungen</h1> | |||||
| </header> | |||||
| <div class="text-slab"> | |||||
| <p> | |||||
| Auf dieser Seite befindet sich eine Auswahl der Artikel von Dr. Raymond Peat, die ich in meiner | |||||
| Freizeit ins Deutsche übersetzt habe. | |||||
| </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> | |||||
| 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! | |||||
| </p> | |||||
| <p> | |||||
| 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"> | |||||
| <li> | |||||
| <RouterLink to={{ name: 'GEDeutschArticle', params: { articleName: 'hypothyroidism'}}}>Indikatoren Schilddrüsenunterfunktion</RouterLink> | |||||
| </li> | |||||
| <li> | |||||
| <RouterLink to={{ name: 'GEDeutschArticle', params: { articleName: 'caffeine'}}}>Koffein</RouterLink> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| </>; | |||||
| } | |||||
| }); | |||||
| @@ -0,0 +1,75 @@ | |||||
| import { h, inject, defineComponent, ref, createTextVNode, type VNode } from 'vue'; | |||||
| import { RouterLink } from 'vue-router'; | |||||
| import useAsyncState from "@/useAsyncState.ts"; | |||||
| export default defineComponent({ | |||||
| name: 'ge-deutsch-article', | |||||
| props: { | |||||
| articleName: { | |||||
| type: String, | |||||
| required: true, | |||||
| }, | |||||
| }, | |||||
| async setup(props) { | |||||
| const currentLang = ref<"en" | "de">("de"); | |||||
| function clickBtn() { | |||||
| currentLang.value = currentLang.value === "en" ? "de" : "en"; | |||||
| } | |||||
| const parseDom = inject('dom-parse', (innerHTML: string) => Object.assign(document.createElement('div'), { innerHTML })); | |||||
| const { result: articleContent, stateIsReady } = useAsyncState('ge-deutsch-article-data', async ({ hostUrl }) => { | |||||
| const articleResponse = await fetch(`${ hostUrl }/generative-energy/static/content/${ props.articleName }.html`); | |||||
| return await articleResponse.text(); | |||||
| }); | |||||
| function transformArticleNode(node: Node): VNode | string { | |||||
| if (node.nodeType === node.ELEMENT_NODE) { | |||||
| const el = node as Element; | |||||
| const attrs: Record<string, string> = {}; | |||||
| 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.parentElement.classList.toggle('swap'); | |||||
| } }, '↻')); | |||||
| } | |||||
| for (let i = 0; i < el.attributes.length; i++) { | |||||
| const item = el.attributes.item(i); | |||||
| if (item) { | |||||
| attrs[item.name] = item.value; | |||||
| } | |||||
| } | |||||
| return h((node as Element).tagName, attrs, children); | |||||
| } else { | |||||
| return createTextVNode(node.textContent ?? ''); | |||||
| } | |||||
| } | |||||
| function ArticleContentTransformed() { | |||||
| if (articleContent.value) { | |||||
| const dom = parseDom(articleContent.value); | |||||
| return h('div', {}, [...dom.children].map(_ => transformArticleNode(_))); | |||||
| } | |||||
| return <div>Artikel lädt...</div>; | |||||
| } | |||||
| await stateIsReady; | |||||
| return () => <div class="ge-article"> | |||||
| <div class="header"> | |||||
| <RouterLink to={{ name: 'GEDeutsch' }}>Zur Artikelübersicht</RouterLink> | |||||
| <button onClick={clickBtn}> | |||||
| Sprache auf <span>{currentLang.value === "en" ? "Deutsch" : "Englisch"}</span> umschalten | |||||
| </button> | |||||
| </div> | |||||
| <article class={`lang-${ currentLang.value }`}> | |||||
| <ArticleContentTransformed /> | |||||
| </article> | |||||
| </div>; | |||||
| } | |||||
| }); | |||||
| @@ -0,0 +1,33 @@ | |||||
| import { RouterLink } from 'vue-router'; | |||||
| export default { | |||||
| name: 'ge-main', | |||||
| setup() { | |||||
| return () => <> | |||||
| <header> | |||||
| <h1>Generative Energy</h1> | |||||
| </header> | |||||
| <div class="text-slab"> | |||||
| <p> | |||||
| This page is dedicated to Dr. Raymond Peat († 2022), who has had a profound impact on my health and | |||||
| my life in general. Hover over the links below for more detail. | |||||
| </p> | |||||
| </div> | |||||
| <div class="text-slab"> | |||||
| <h2>Links</h2> | |||||
| <ul> | |||||
| <li> | |||||
| <RouterLink to={{ name: 'GECalculator' }}>Thyroid Calculator</RouterLink> | |||||
| <span style="display: none" class="tooltip">Convert to and from grains, set ratios, etc.</span> | |||||
| </li> | |||||
| <li> | |||||
| <RouterLink to={{ name: 'GEDeutsch' }}>Ray Peat Articles in German</RouterLink> | |||||
| <span style="display: none" class="tooltip"> | |||||
| A selection of articles by Ray that I have translated in my spare time into German. | |||||
| </span> | |||||
| </li> | |||||
| </ul> | |||||
| </div> | |||||
| </> | |||||
| }, | |||||
| }; | |||||
| @@ -0,0 +1,21 @@ | |||||
| import { defineComponent } from "vue"; | |||||
| export default defineComponent({ | |||||
| name: "dj-paypal-donate", | |||||
| setup: () => { | |||||
| return () => ( | |||||
| <form action="https://www.paypal.com/donate" method="post" target="_top"> | |||||
| <input type="hidden" name="hosted_button_id" value="9NXC6V5HDPGFL" /> | |||||
| <input | |||||
| id="ppbutton" | |||||
| type="image" | |||||
| src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" | |||||
| name="submit" | |||||
| title="Thanks for your support!" | |||||
| alt="Donate with PayPal button" | |||||
| /> | |||||
| <img alt="" src="https://www.paypal.com/en_DE/i/scr/pixel.gif" width="1" height="1" /> | |||||
| </form> | |||||
| ); | |||||
| }, | |||||
| }); | |||||
| @@ -0,0 +1,67 @@ | |||||
| import { defineComponent, type VNode, Suspense } from "vue"; | |||||
| import { useRoute, RouterLink, RouterView, type RouteRecordRaw } from 'vue-router'; | |||||
| import GEMain from "@/generative-energy/GEMain.tsx"; | |||||
| import DJEmail from "@/DJEmail.tsx"; | |||||
| import GEPaypal from "@/generative-energy/GEPaypal.tsx"; | |||||
| import GEDeutsch from "@/generative-energy/GEDeutsch.tsx"; | |||||
| import GEDeutschArticle from "@/generative-energy/GEDeutschArticle.tsx"; | |||||
| import GECalculator from "@/generative-energy/GECalculator.tsx"; | |||||
| export const routes: RouteRecordRaw[] = [ | |||||
| { | |||||
| path: '/', | |||||
| name: 'GEMain', | |||||
| component: GEMain, | |||||
| }, | |||||
| { | |||||
| path: '/calculator', | |||||
| name: 'GECalculator', | |||||
| component: GECalculator, | |||||
| }, | |||||
| { | |||||
| path: '/raypeat-deutsch', | |||||
| name: 'GEDeutsch', | |||||
| component: GEDeutsch, | |||||
| }, | |||||
| { | |||||
| path: '/raypeat-deutsch/article/:articleName', | |||||
| name: 'GEDeutschArticle', | |||||
| component: GEDeutschArticle, | |||||
| props: ({ params }) => { | |||||
| if ('articleName' in params) { | |||||
| return { articleName: params.articleName }; | |||||
| } else { | |||||
| return false; | |||||
| } | |||||
| }, | |||||
| }, | |||||
| ]; | |||||
| export default defineComponent({ | |||||
| name: "ge-root", | |||||
| setup() { | |||||
| const route = useRoute(); | |||||
| return () => <> | |||||
| <main> | |||||
| <RouterLink class={"home-btn" + (route.name === 'GEMain' ? ' hide' : '') } | |||||
| to={{ name: 'GEMain' }}> | |||||
| Generative Energy Home | |||||
| </RouterLink> | |||||
| <RouterView>{{ default: ({ Component }: { Component: VNode }) => (Component && | |||||
| <Suspense>{{ | |||||
| default: () => Component, | |||||
| fallback: () => <div>Page loading...</div>, | |||||
| }}</Suspense> | |||||
| )}}</RouterView> | |||||
| <footer> | |||||
| <div class="bottom"> | |||||
| <div> | |||||
| <a href="https://djledda.de/">djledda.de</a> 2023 - <DJEmail>{ () => 'Contact' }</DJEmail> | |||||
| </div> | |||||
| <GEPaypal /> | |||||
| </div> | |||||
| </footer> | |||||
| </main> | |||||
| </>; | |||||
| }, | |||||
| }); | |||||
| @@ -0,0 +1,298 @@ | |||||
| import { css, DJElement, h, html, qs } from "./util"; | |||||
| //@ts-check | |||||
| const MPG_T3_SYN = 25; | |||||
| const MPG_T4_SYN = 100; | |||||
| class GlobalEventBus { | |||||
| /** | |||||
| * @private | |||||
| * @type {{ onChange(): void }[]} | |||||
| */ | |||||
| changeSubscribers = []; | |||||
| /** | |||||
| * @param {{ onChange(): void }} listener | |||||
| */ | |||||
| addListener(listener) { | |||||
| this.changeSubscribers.push(listener); | |||||
| } | |||||
| /** | |||||
| * @param {any} sender | |||||
| */ | |||||
| sendChange(sender) { | |||||
| for (const sub of this.changeSubscribers) { | |||||
| if (sub === sender) continue; | |||||
| sub.onChange(); | |||||
| } | |||||
| } | |||||
| } | |||||
| const eventBus = new GlobalEventBus(); | |||||
| class GrainInput { | |||||
| /** @type GrainInput[] */ | |||||
| static inputs = []; | |||||
| /** @type string */ | |||||
| name; | |||||
| /** @type string */ | |||||
| unit; | |||||
| /** @type number */ | |||||
| mpg; | |||||
| /** @type HTMLInputElement */ | |||||
| inputEl; | |||||
| /** @type GrainInput */ | |||||
| reference; | |||||
| /** | |||||
| * @param {{ | |||||
| * name: string, | |||||
| * mpg: number, | |||||
| * reference: GrainInput | 'self', | |||||
| * unit: string, | |||||
| * step?: number, | |||||
| * }} opts | |||||
| */ | |||||
| constructor(opts) { | |||||
| this.name = opts.name; | |||||
| this.mpg = opts.mpg; | |||||
| this.unit = opts.unit; | |||||
| this.reference = opts.reference === "self" ? this : opts.reference; | |||||
| this.inputEl = h("input", { type: "number", min: 0, step: opts.step ?? 1 }); | |||||
| eventBus.addListener(this); | |||||
| } | |||||
| /** | |||||
| * @param {HTMLElement} insertionPoint | |||||
| */ | |||||
| attachInput(insertionPoint) { | |||||
| insertionPoint.appendChild(this.inputEl); | |||||
| this.inputEl.valueAsNumber = this.mpg; | |||||
| this.inputEl.addEventListener("input", (e) => { | |||||
| const newVal = /** @type HTMLInputElement | null */ (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| if (this !== this.reference) { | |||||
| this.reference.inputEl.valueAsNumber = newVal / this.mpg; | |||||
| } | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| } | |||||
| onChange() { | |||||
| if (!this.reference || this === this.reference) return; | |||||
| this.inputEl.valueAsNumber = this.mpg * this.reference.inputEl.valueAsNumber; | |||||
| } | |||||
| getCurrentValue() { | |||||
| return this.inputEl.valueAsNumber; | |||||
| } | |||||
| } | |||||
| class RatiosController { | |||||
| /** @type HTMLInputElement */ | |||||
| t3Ratio = h("input", { type: "number", min: 0, step: 1 }); | |||||
| /** @type HTMLInputElement */ | |||||
| t4Ratio = h("input", { type: "number", min: 0, step: 1 }); | |||||
| /** @type HTMLInputElement */ | |||||
| t3Syn = h("input", { type: "number", min: 0 }); | |||||
| /** @type HTMLInputElement */ | |||||
| t4Syn = h("input", { type: "number", min: 0 }); | |||||
| /** @type number */ | |||||
| t3 = 1; | |||||
| /** @type number */ | |||||
| t4 = 4; | |||||
| /** @type GrainInput */ | |||||
| reference; | |||||
| /** | |||||
| * @param {GrainInput} referenceInput | |||||
| */ | |||||
| constructor(referenceInput) { | |||||
| this.reference = referenceInput; | |||||
| } | |||||
| /** | |||||
| * @param {Record<string, HTMLElement>} inputs | |||||
| */ | |||||
| attachInputs(inputs) { | |||||
| inputs.t3Ratio.replaceWith(this.t3Ratio); | |||||
| inputs.t4Ratio.replaceWith(this.t4Ratio); | |||||
| inputs.t3Syn.replaceWith(this.t3Syn); | |||||
| inputs.t4Syn.replaceWith(this.t4Syn); | |||||
| this.t3Ratio.addEventListener("input", (e) => { | |||||
| const newVal = /** @type HTMLInputElement | null */ (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.t3 = newVal; | |||||
| this.onChange(); | |||||
| }); | |||||
| this.t4Ratio.addEventListener("input", (e) => { | |||||
| const newVal = /** @type HTMLInputElement | null */ (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.t4 = newVal; | |||||
| this.onChange(); | |||||
| }); | |||||
| this.t3Syn.addEventListener("input", (e) => { | |||||
| const newVal = /** @type HTMLInputElement | null */ (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.reference.inputEl.valueAsNumber = newVal / MPG_T3_SYN + this.t4Syn.valueAsNumber / MPG_T4_SYN; | |||||
| this.t3 = newVal; | |||||
| this.t4 = this.t4Syn.valueAsNumber; | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| this.t4Syn.addEventListener("input", (e) => { | |||||
| const newVal = /** @type HTMLInputElement | null */ (e.currentTarget)?.valueAsNumber ?? 0; | |||||
| this.reference.inputEl.valueAsNumber = newVal / MPG_T4_SYN + this.t3Syn.valueAsNumber / MPG_T3_SYN; | |||||
| this.t3 = this.t3Syn.valueAsNumber; | |||||
| this.t4 = newVal; | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| eventBus.sendChange(this); | |||||
| }); | |||||
| eventBus.addListener(this); | |||||
| this.onChange(); | |||||
| } | |||||
| onChange() { | |||||
| this.updateRatio(); | |||||
| this.updateSyn(); | |||||
| } | |||||
| updateRatio() { | |||||
| this.t3Ratio.valueAsNumber = this.t3; | |||||
| this.t4Ratio.valueAsNumber = this.t4; | |||||
| } | |||||
| updateSyn() { | |||||
| const total = this.t3 + this.t4; | |||||
| const t3Proportion = this.t3 / total; | |||||
| const t4Proportion = this.t4 / total; | |||||
| const grainsSyn = t3Proportion / MPG_T3_SYN + t4Proportion / MPG_T4_SYN; | |||||
| const multiplierSyn = this.reference.getCurrentValue() / grainsSyn; | |||||
| this.t3Syn.valueAsNumber = t3Proportion * multiplierSyn; | |||||
| this.t4Syn.valueAsNumber = t4Proportion * multiplierSyn; | |||||
| } | |||||
| } | |||||
| class ThyroidConverter extends DJElement { | |||||
| static styles = css` | |||||
| table { | |||||
| border-collapse: separate; | |||||
| margin: auto; | |||||
| margin-top: 20px; | |||||
| margin-bottom: 20px; | |||||
| border-radius: 5px; | |||||
| border-spacing: 0; | |||||
| border: 1px solid var(--text-color); | |||||
| } | |||||
| input { | |||||
| width: 70px; | |||||
| } | |||||
| tr:last-of-type td { | |||||
| border-bottom: none; | |||||
| } | |||||
| td { | |||||
| border-bottom: 1px solid var(--text-color); | |||||
| border-right: 1px solid var(--text-color); | |||||
| padding: 10px; | |||||
| } | |||||
| td:last-of-type { | |||||
| border-right: none; | |||||
| } | |||||
| .breathe { | |||||
| padding-left: 4px; | |||||
| padding-right: 4px; | |||||
| } | |||||
| @media (min-width: 600px) { | |||||
| td.right div { | |||||
| display: inline-block; | |||||
| } | |||||
| } | |||||
| `; | |||||
| static template = html` | |||||
| <table> | |||||
| <tbody id="table-body"> | |||||
| <tr id="compounded-start" class="ratios"> | |||||
| <td> | |||||
| Desired Ratio (T3:T4) | |||||
| </td> | |||||
| <td class="right"> | |||||
| <div><slot class="t3"></slot></div> : | |||||
| <div><slot class="t4"></slot></div> | |||||
| </td> | |||||
| </tr> | |||||
| <tr class="synthetic"> | |||||
| <td> | |||||
| Synthetic T3/T4 Combo | |||||
| </td> | |||||
| <td class="right"> | |||||
| <div><slot class="t3"></slot>mcg</div> : | |||||
| <div><slot class="t4"></slot>mcg</div> | |||||
| </td> | |||||
| </tr> | |||||
| </tbody> | |||||
| </table>`; | |||||
| constructor() { | |||||
| super(); | |||||
| const mainGrainInput = new GrainInput({ | |||||
| name: "Grains", | |||||
| mpg: 1, | |||||
| reference: "self", | |||||
| unit: "", | |||||
| step: 0.1, | |||||
| }); | |||||
| const ratiosController = new RatiosController(mainGrainInput); | |||||
| const inputs = [ | |||||
| mainGrainInput, | |||||
| new GrainInput({ | |||||
| name: "Armour, Natural Dessicated Thyroid", | |||||
| mpg: 60, | |||||
| unit: "mg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| new GrainInput({ | |||||
| name: 'Liothyronine (Triiodothyronine, "Cytomel", T3)', | |||||
| mpg: MPG_T3_SYN, | |||||
| unit: "mcg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| new GrainInput({ | |||||
| name: 'Levothyroxine (Thyroxine, "Cynoplus", T4)', | |||||
| mpg: MPG_T4_SYN, | |||||
| unit: "mcg", | |||||
| reference: mainGrainInput, | |||||
| }), | |||||
| ]; | |||||
| const tableBody = qs("#table-body", this.root); | |||||
| const compoundedStart = qs("#compounded-start", this.root); | |||||
| for (const field of inputs) { | |||||
| const newRow = h("tr", {}, [ | |||||
| h("td", { textContent: field.name }), | |||||
| h("td", {}, [ | |||||
| h("div", { className: "input", style: "display: inline-block;" }), | |||||
| h("span", { className: "breathe", textContent: field.unit }), | |||||
| ]), | |||||
| ]); | |||||
| field.attachInput(qs("div.input", newRow)); | |||||
| tableBody.insertBefore(newRow, compoundedStart); | |||||
| } | |||||
| ratiosController.attachInputs({ | |||||
| t3Ratio: qs(".ratios .t3", tableBody), | |||||
| t4Ratio: qs(".ratios .t4", tableBody), | |||||
| t3Syn: qs(".synthetic .t3", tableBody), | |||||
| t4Syn: qs(".synthetic .t4", tableBody), | |||||
| }); | |||||
| } | |||||
| } | |||||
| customElements.define("thyroid-converter", ThyroidConverter); | |||||
| @@ -0,0 +1,10 @@ | |||||
| import { createSSRApp } from "vue"; | |||||
| import { createRouter, createWebHistory } from "vue-router"; | |||||
| import GERoot, { routes } from "@/generative-energy/GERoot.tsx"; | |||||
| createSSRApp(GERoot) | |||||
| .use(createRouter({ | |||||
| routes, | |||||
| history: createWebHistory('/generative-energy') | |||||
| })) | |||||
| .mount('#app-root'); | |||||
| @@ -0,0 +1,135 @@ | |||||
| // @ts-check | |||||
| // | |||||
| import { css, DJElement, h, html, qs } from "./util"; | |||||
| class HalfLifeGraph extends DJElement { | |||||
| static styles = css` | |||||
| .container { | |||||
| margin: auto; | |||||
| text-align: center; | |||||
| } | |||||
| canvas { | |||||
| border: solid 1px black; | |||||
| } | |||||
| `; | |||||
| static template = html` | |||||
| <div class="container"> | |||||
| <div> | |||||
| <canvas /> | |||||
| </div> | |||||
| <label for="my-input">Test Input</label> | |||||
| <input type="range" /> | |||||
| </div> | |||||
| `; | |||||
| /** @type number */ | |||||
| height = 480; | |||||
| /** @type number */ | |||||
| width = 640; | |||||
| /** @type HTMLInputElement */ | |||||
| input1; | |||||
| /** @type number */ | |||||
| input1Value; | |||||
| /** @type Function */ | |||||
| renderCb; | |||||
| constructor() { | |||||
| super(); | |||||
| const canvas = /** @type HTMLCanvasElement */ (qs("canvas", this.root)); | |||||
| this.input1 = /** @type HTMLInputElement */ (qs("input", this.root)); | |||||
| canvas.width = this.width; | |||||
| canvas.height = this.height; | |||||
| const context = canvas.getContext("2d"); | |||||
| if (!context) { | |||||
| throw new Error("No context available"); | |||||
| } | |||||
| this.renderCb = () => { | |||||
| window.requestAnimationFrame(() => this.renderFrame(context)); | |||||
| }; | |||||
| this.input1.addEventListener("input", (e) => { | |||||
| this.input1Value = /** @type HTMLInputElement */ (e.target).valueAsNumber; | |||||
| this.renderCb(); | |||||
| }); | |||||
| this.renderCb(); | |||||
| } | |||||
| /** | |||||
| * @param {CanvasRenderingContext2D} ctx | |||||
| */ | |||||
| renderFrame(ctx) { | |||||
| this.drawAxes(ctx); | |||||
| this.drawGrid(ctx); | |||||
| this.drawCurve(ctx); | |||||
| } | |||||
| /** | |||||
| * @param {CanvasRenderingContext2D} ctx | |||||
| */ | |||||
| drawAxes(ctx) { | |||||
| const startY = 0; | |||||
| const endY = 10; | |||||
| const startX = 0; | |||||
| const endX = 10; | |||||
| ctx.beginPath(); | |||||
| ctx.moveTo(startX, this.height - startY); | |||||
| ctx.lineTo(startX, this.height - endY); | |||||
| ctx.stroke(); | |||||
| ctx.beginPath(); | |||||
| ctx.moveTo(startX, this.height - startY); | |||||
| ctx.lineTo(endX, this.height - startY); | |||||
| ctx.stroke(); | |||||
| } | |||||
| /** | |||||
| * @param {CanvasRenderingContext2D} ctx | |||||
| */ | |||||
| drawGrid(ctx) { | |||||
| /** | |||||
| const step = this.width / V0D | |||||
| for (let i = 0; i < thing; i++) { | |||||
| ctx.beginPath(); | |||||
| ctx.moveTo(i, ); | |||||
| ctx.lineTo(i); | |||||
| } | |||||
| */ | |||||
| } | |||||
| /** | |||||
| * @param {CanvasRenderingContext2D} ctx | |||||
| */ | |||||
| drawCurve(ctx) { | |||||
| // A = A_0 * (1/2) ^ t / h | |||||
| // h = half life | |||||
| // t = point in time | |||||
| // A_0 = initial | |||||
| // A = current concentration | |||||
| // TODO | |||||
| // https://pharmacy.ufl.edu/files/2013/01/5127-28-equations.pdf | |||||
| /** | |||||
| * @param {number} x | |||||
| */ | |||||
| function y(x) { | |||||
| return x ** 2; | |||||
| } | |||||
| const xEnd = 2; | |||||
| const yEnd = 2; | |||||
| const samples = 100; | |||||
| const step = this.width / samples; | |||||
| ctx.beginPath(); | |||||
| ctx.moveTo(0, this.height); | |||||
| for (let i = 0; i < this.width; i += step) { | |||||
| ctx.lineTo(i, this.height - y(i / this.width * xEnd) * this.height / yEnd); | |||||
| } | |||||
| ctx.stroke(); | |||||
| } | |||||
| } | |||||
| customElements.define("half-life-graph", HalfLifeGraph); | |||||
| @@ -1,5 +1,4 @@ | |||||
| import { defineComponent, computed, ref } from "vue"; | |||||
| import Test from '@/test.tsx'; | |||||
| import { computed, defineComponent, ref } from "vue"; | |||||
| export default defineComponent({ | export default defineComponent({ | ||||
| name: "app-root", | name: "app-root", | ||||
| @@ -12,7 +11,9 @@ export default defineComponent({ | |||||
| <button class="test" onClick={() => count.value++}>Click me!</button> | <button class="test" onClick={() => count.value++}>Click me!</button> | ||||
| <div>Count: {count.value}</div> | <div>Count: {count.value}</div> | ||||
| <div>Count Double: {countDouble.value}</div> | <div>Count Double: {countDouble.value}</div> | ||||
| <Test /> | |||||
| <p> | |||||
| <a href="/generative-energy/">Go to this other site hosted here but a different Vue app!</a> | |||||
| </p> | |||||
| </div> | </div> | ||||
| ); | ); | ||||
| }, | }, | ||||
| @@ -0,0 +1,13 @@ | |||||
| import { useSSRContext, toValue, type MaybeRefOrGetter } from 'vue'; | |||||
| export default function useHead(params: { | |||||
| title: MaybeRefOrGetter<string>, | |||||
| }) { | |||||
| const context = useSSRContext(); | |||||
| if (context) { | |||||
| context.meta ??= { | |||||
| title: toValue(params.title), | |||||
| meta: {}, | |||||
| }; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,74 @@ | |||||
| const contextStack: Observer[] = []; | |||||
| export class Observer<T = unknown> { | |||||
| private effect: () => T; | |||||
| dependencies: Set<Observable> = new Set(); | |||||
| constructor(effect: { (): T }) { | |||||
| this.effect = effect; | |||||
| this.execute(); | |||||
| } | |||||
| execute() { | |||||
| this.cleanup(); | |||||
| contextStack.push(this); | |||||
| try { | |||||
| this.effect(); | |||||
| } finally { | |||||
| contextStack.pop(); | |||||
| } | |||||
| } | |||||
| cleanup() { | |||||
| for (const dep of this.dependencies.values()) { | |||||
| dep.observers.delete(this); | |||||
| } | |||||
| this.dependencies.clear(); | |||||
| } | |||||
| } | |||||
| export class Observable<T = unknown> { | |||||
| private value: T; | |||||
| observers: Set<Observer> = new Set(); | |||||
| constructor(init: T) { | |||||
| this.value = init; | |||||
| } | |||||
| get() { | |||||
| const activeObserver = contextStack[contextStack.length - 1]; | |||||
| if (activeObserver) { | |||||
| this.observers.add(activeObserver); | |||||
| activeObserver.dependencies.add(this); | |||||
| } | |||||
| return this.value; | |||||
| } | |||||
| set(next: T) { | |||||
| this.value = next; | |||||
| for (const observer of Array.from(this.observers.values())) { | |||||
| observer.execute(); | |||||
| } | |||||
| } | |||||
| } | |||||
| export class Mapping<T extends unknown> { | |||||
| private observable: Observable<T>; | |||||
| private observer: Observer<T>; | |||||
| constructor(mapping: { (): T }) { | |||||
| this.observable = new Observable(undefined as T); | |||||
| this.observer = new Observer(() => { | |||||
| const result = mapping(); | |||||
| this.observable.set(result); | |||||
| return result; | |||||
| }); | |||||
| } | |||||
| get() { | |||||
| return this.observable.get(); | |||||
| } | |||||
| } | |||||
| @@ -1 +0,0 @@ | |||||
| export default () => <div class="test">Test</div>; | |||||
| @@ -0,0 +1,122 @@ | |||||
| import { h, qsa } from "@/util.ts"; | |||||
| import { type CSSProperties, defineComponent, onBeforeUnmount, onMounted, ref } from "vue"; | |||||
| const carrierStyle = { | |||||
| opacity: "0", | |||||
| display: "block", | |||||
| pointerEvents: "none", | |||||
| backgroundColor: "black", | |||||
| border: "white solid 1px", | |||||
| color: "white", | |||||
| padding: "10px", | |||||
| position: "absolute", | |||||
| zIndex: "1", | |||||
| overflow: "hidden", | |||||
| height: "0", | |||||
| width: "0", | |||||
| transition: "opacity 200ms, height 200ms, width 200ms", | |||||
| } satisfies CSSProperties; | |||||
| const textCarrierStyle = { | |||||
| width: "350px", | |||||
| display: "block", | |||||
| overflow: "hidden", | |||||
| } satisfies CSSProperties; | |||||
| const defaultWidth = 350; | |||||
| export default defineComponent({ | |||||
| name: "dj-sexy-tooltip", | |||||
| setup() { | |||||
| const active = ref(false); | |||||
| const carrier = ref<HTMLElement | null>(null); | |||||
| const textCarrier = ref<HTMLElement | null>(null); | |||||
| onMounted(() => { | |||||
| document.body.appendChild(h("style", { textContent: `.tooltip { display: none; }` })); | |||||
| document.body.style.position = "relative"; | |||||
| document.addEventListener("mousemove", (event) => this.rerenderTooltip({ x: event.pageX, y: event.pageY })); | |||||
| }); | |||||
| function rerenderTooltip(mousePos: { x: number; y: number }) { | |||||
| const newText = this.getTooltipTextForHoveredElement(mousePos); | |||||
| if (newText !== this.textCarrier) { | |||||
| this.transitionTooltipSize(newText); | |||||
| const tooltipHasText = newText !== ""; | |||||
| if (tooltipHasText !== this.active) { | |||||
| this.toggleActive(); | |||||
| } | |||||
| } | |||||
| if (this.isStillVisible()) { | |||||
| this.updatePosition(mousePos); | |||||
| } | |||||
| } | |||||
| function isStillVisible() { | |||||
| return getComputedStyle(carrier.value).opacity !== "0"; | |||||
| } | |||||
| function updatePosition(pos: { x: number; y: number }) { | |||||
| if (pos.x + 15 + this.carrier.clientWidth <= document.body.scrollWidth) { | |||||
| this.carrier.style.left = (pos.x + 15) + "px"; | |||||
| } else { | |||||
| this.carrier.style.left = (document.body.scrollWidth - this.carrier.clientWidth - 5) + "px"; | |||||
| } | |||||
| if (pos.y + this.carrier.clientHeight <= document.body.scrollHeight) { | |||||
| this.carrier.style.top = pos.y + "px"; | |||||
| } else { | |||||
| this.carrier.style.top = (document.body.scrollHeight - this.carrier.clientHeight - 5) + "px"; | |||||
| } | |||||
| } | |||||
| function toggleActive() { | |||||
| if (this.active) { | |||||
| this.active = false; | |||||
| this.carrier.style.opacity = "0"; | |||||
| this.carrier.style.padding = "0"; | |||||
| } else { | |||||
| this.active = true; | |||||
| this.carrier.style.opacity = "1"; | |||||
| this.carrier.style.padding = SexyTooltip.carrierStyle.padding; | |||||
| } | |||||
| } | |||||
| function transitionTooltipSize(text: string) { | |||||
| const testDiv = h("div"); | |||||
| testDiv.style.height = "auto"; | |||||
| testDiv.style.width = SexyTooltip.defaultWidth + "px"; | |||||
| testDiv.innerHTML = text; | |||||
| document.body.appendChild(testDiv); | |||||
| const calculatedHeight = testDiv.scrollHeight; | |||||
| testDiv.style.display = "inline"; | |||||
| testDiv.style.width = "auto"; | |||||
| document.body.removeChild(testDiv); | |||||
| const size = { height: calculatedHeight + "px", width: "350px" }; | |||||
| this.carrier.style.height = size.height; | |||||
| this.carrier.style.width = text === "" ? "0" : size.width; | |||||
| this.textCarrier.innerHTML = text; | |||||
| } | |||||
| function getTooltipTextForHoveredElement(mousePos: { x: number; y: number }) { | |||||
| for (const elem of this.elementsWithTooltips) { | |||||
| const boundingRect = elem.getBoundingClientRect(); | |||||
| const inYRange = mousePos.y >= boundingRect.top + window.pageYOffset - 1 && | |||||
| mousePos.y <= boundingRect.bottom + window.pageYOffset + 1; | |||||
| const inXRange = mousePos.x >= boundingRect.left + window.pageXOffset - 1 && | |||||
| mousePos.x <= boundingRect.right + window.pageXOffset + 1; | |||||
| if (inYRange && inXRange) { | |||||
| return elem.nextElementSibling?.innerText ?? ""; | |||||
| } | |||||
| } | |||||
| return ""; | |||||
| } | |||||
| return () => ( | |||||
| <div ref={carrier}> | |||||
| <span ref={textCarrier} /> | |||||
| </div> | |||||
| ); | |||||
| }, | |||||
| }); | |||||
| @@ -0,0 +1,50 @@ | |||||
| import { onMounted, onServerPrefetch, useSSRContext, shallowRef, type ShallowRef } from 'vue'; | |||||
| declare global { | |||||
| // deno-lint-ignore no-var | |||||
| var appstate: Partial<Record<string, unknown>>; | |||||
| } | |||||
| export default function useAsyncState<T>(key: string, getter: (context: { hostUrl: string }) => Promise<T | null>, options?: { suspensible: boolean }): { result: ShallowRef<T | null>, stateIsReady: Promise<unknown> } { | |||||
| const ssrContext = useSSRContext<{ registry: Record<string, unknown> }>(); | |||||
| const isClient = typeof ssrContext === 'undefined'; | |||||
| const registry = ssrContext?.registry ?? globalThis?.appstate; | |||||
| const hostUrl = isClient ? globalThis.location.origin : 'http://localhost:8080'; | |||||
| const state = shallowRef<T | null>(null); | |||||
| let resolve = () => {}; | |||||
| const promise = new Promise<void>((res) => { | |||||
| resolve = res; | |||||
| }); | |||||
| if (key in registry) { | |||||
| state.value = registry[key] as T; | |||||
| delete registry[key]; | |||||
| resolve(); | |||||
| } else { | |||||
| if (!isClient) { | |||||
| resolve(); | |||||
| } | |||||
| onServerPrefetch(async () => { | |||||
| const result = await getter({ hostUrl }); | |||||
| registry[key] = result; | |||||
| state.value = result; | |||||
| }); | |||||
| if (options?.suspensible ?? true) { | |||||
| getter({ hostUrl }).then((result) => { | |||||
| state.value = result; | |||||
| resolve(); | |||||
| }).catch(resolve); | |||||
| } else { | |||||
| onMounted(async () => { | |||||
| state.value = await getter({ hostUrl }); | |||||
| resolve(); | |||||
| }); | |||||
| } | |||||
| } | |||||
| return { result: state, stateIsReady: promise }; | |||||
| } | |||||
| @@ -0,0 +1,59 @@ | |||||
| export function gid(id: string, doc: (Document | ShadowRoot) | undefined) { | |||||
| return ((doc ?? document).getElementById(id)); | |||||
| } | |||||
| export function qs(query: string, sub: (HTMLElement | ShadowRoot) | undefined) { | |||||
| return ((sub ?? document).querySelector(query)); | |||||
| } | |||||
| export function qsa(query: string, sub?: (HTMLElement | ShadowRoot) | undefined) { | |||||
| return ((sub ?? document).querySelectorAll(query)); | |||||
| } | |||||
| export function h<T extends keyof HTMLElementTagNameMap>( | |||||
| tag: T, | |||||
| opts?: Partial<HTMLElementTagNameMap[T]> | undefined, | |||||
| children?: Node[], | |||||
| ) { | |||||
| const newEl = Object.assign(document.createElement(tag), opts ?? {}); | |||||
| if (children) { | |||||
| newEl.append(...children); | |||||
| } | |||||
| return newEl; | |||||
| } | |||||
| export function html(strs: TemplateStringsArray, ...vals: string[]) { | |||||
| let result = strs[0]; | |||||
| for (let i = 1; i < strs.length; i++) { | |||||
| result += vals[i] + strs[i]; | |||||
| } | |||||
| const template = document.createElement("template"); | |||||
| template.innerHTML = result; | |||||
| return template; | |||||
| } | |||||
| export function css(strs: TemplateStringsArray, ...vals: string[]) { | |||||
| let result = strs[0]; | |||||
| for (let i = 1; i < strs.length; i++) { | |||||
| result += vals[i] + strs[i]; | |||||
| } | |||||
| const sheet = new CSSStyleSheet(); | |||||
| sheet.replaceSync(result); | |||||
| return sheet; | |||||
| } | |||||
| export class DJElement extends HTMLElement { | |||||
| static styles: CSSStyleSheet; | |||||
| static template: HTMLTemplateElement; | |||||
| root: ShadowRoot; | |||||
| constructor() { | |||||
| super(); | |||||
| const statics = this.constructor as typeof DJElement; | |||||
| this.root = this.attachShadow({ mode: "open" }); | |||||
| this.root.appendChild(statics.template.content.cloneNode(true)); | |||||
| this.root.adoptedStyleSheets = statics.styles ? [statics.styles] : []; | |||||
| } | |||||
| } | |||||
| @@ -10,7 +10,9 @@ | |||||
| }, | }, | ||||
| "imports": { | "imports": { | ||||
| "vue": "npm:vue@^3.5.12", | "vue": "npm:vue@^3.5.12", | ||||
| "vue-router": "npm:vue-router@4.4.5", | |||||
| "vue/jsx-runtime": "npm:vue/jsx-runtime", | "vue/jsx-runtime": "npm:vue/jsx-runtime", | ||||
| "@vue/devtools-api": "npm:@vue/devtools-api", | |||||
| "@/": "./app/" | "@/": "./app/" | ||||
| }, | }, | ||||
| "nodeModulesDir": "auto", | "nodeModulesDir": "auto", | ||||
| @@ -18,6 +20,12 @@ | |||||
| "jsx": "react-jsx", | "jsx": "react-jsx", | ||||
| "jsxFactory": "h", | "jsxFactory": "h", | ||||
| "jsxFragmentFactory": "Fragment", | "jsxFragmentFactory": "Fragment", | ||||
| "jsxImportSource": "vue" | |||||
| "jsxImportSource": "vue", | |||||
| "lib": [ | |||||
| "deno.ns", | |||||
| "esnext", | |||||
| "dom", | |||||
| "dom.iterable" | |||||
| ] | |||||
| } | } | ||||
| } | } | ||||
| @@ -1,6 +1,7 @@ | |||||
| { | { | ||||
| "version": "4", | "version": "4", | ||||
| "specifiers": { | "specifiers": { | ||||
| "jsr:@b-fuze/deno-dom@*": "0.1.48", | |||||
| "jsr:@deno/cache-dir@0.13.2": "0.13.2", | "jsr:@deno/cache-dir@0.13.2": "0.13.2", | ||||
| "jsr:@deno/emit@*": "0.46.0", | "jsr:@deno/emit@*": "0.46.0", | ||||
| "jsr:@deno/graph@~0.73.1": "0.73.1", | "jsr:@deno/graph@~0.73.1": "0.73.1", | ||||
| @@ -18,10 +19,16 @@ | |||||
| "jsr:@std/path@0.223": "0.223.0", | "jsr:@std/path@0.223": "0.223.0", | ||||
| "jsr:@std/path@^1.0.7": "1.0.7", | "jsr:@std/path@^1.0.7": "1.0.7", | ||||
| "jsr:@std/streams@^1.0.7": "1.0.7", | "jsr:@std/streams@^1.0.7": "1.0.7", | ||||
| "npm:@types/node@*": "22.5.4", | |||||
| "npm:@vue/devtools-api@*": "6.6.4", | |||||
| "npm:vue-router@4.4.5": "4.4.5_vue@3.5.12", | |||||
| "npm:vue@*": "3.5.12", | "npm:vue@*": "3.5.12", | ||||
| "npm:vue@^3.5.12": "3.5.12" | "npm:vue@^3.5.12": "3.5.12" | ||||
| }, | }, | ||||
| "jsr": { | "jsr": { | ||||
| "@b-fuze/deno-dom@0.1.48": { | |||||
| "integrity": "bf5b591aef2e9e9c59adfcbb93a9ecd45bab5b7c8263625beafa5c8f1662e7da" | |||||
| }, | |||||
| "@deno/cache-dir@0.13.2": { | "@deno/cache-dir@0.13.2": { | ||||
| "integrity": "c22419dfe27ab85f345bee487aaaadba498b005cce3644e9d2528db035c5454d", | "integrity": "c22419dfe27ab85f345bee487aaaadba498b005cce3644e9d2528db035c5454d", | ||||
| "dependencies": [ | "dependencies": [ | ||||
| @@ -124,6 +131,12 @@ | |||||
| "@jridgewell/sourcemap-codec@1.5.0": { | "@jridgewell/sourcemap-codec@1.5.0": { | ||||
| "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" | ||||
| }, | }, | ||||
| "@types/node@22.5.4": { | |||||
| "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", | |||||
| "dependencies": [ | |||||
| "undici-types" | |||||
| ] | |||||
| }, | |||||
| "@vue/compiler-core@3.5.12": { | "@vue/compiler-core@3.5.12": { | ||||
| "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", | "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", | ||||
| "dependencies": [ | "dependencies": [ | ||||
| @@ -162,6 +175,9 @@ | |||||
| "@vue/shared" | "@vue/shared" | ||||
| ] | ] | ||||
| }, | }, | ||||
| "@vue/devtools-api@6.6.4": { | |||||
| "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" | |||||
| }, | |||||
| "@vue/reactivity@3.5.12": { | "@vue/reactivity@3.5.12": { | ||||
| "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", | "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", | ||||
| "dependencies": [ | "dependencies": [ | ||||
| @@ -227,6 +243,16 @@ | |||||
| "source-map-js@1.2.1": { | "source-map-js@1.2.1": { | ||||
| "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" | ||||
| }, | }, | ||||
| "undici-types@6.19.8": { | |||||
| "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" | |||||
| }, | |||||
| "vue-router@4.4.5_vue@3.5.12": { | |||||
| "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", | |||||
| "dependencies": [ | |||||
| "@vue/devtools-api", | |||||
| "vue" | |||||
| ] | |||||
| }, | |||||
| "vue@3.5.12": { | "vue@3.5.12": { | ||||
| "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", | "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", | ||||
| "dependencies": [ | "dependencies": [ | ||||
| @@ -240,6 +266,8 @@ | |||||
| }, | }, | ||||
| "workspace": { | "workspace": { | ||||
| "dependencies": [ | "dependencies": [ | ||||
| "npm:@vue/devtools-api@*", | |||||
| "npm:vue-router@4.4.5", | |||||
| "npm:vue@*", | "npm:vue@*", | ||||
| "npm:vue@^3.5.12" | "npm:vue@^3.5.12" | ||||
| ] | ] | ||||
| @@ -1,3 +1,4 @@ | |||||
| import "jsr:@deno/emit"; | import "jsr:@deno/emit"; | ||||
| import "jsr:@std/http"; | import "jsr:@std/http"; | ||||
| import "vue"; | import "vue"; | ||||
| import 'jsr:@b-fuze/deno-dom'; | |||||
| @@ -1,11 +1,16 @@ | |||||
| import { serveFile } from "jsr:@std/http/file-server"; | import { serveFile } from "jsr:@std/http/file-server"; | ||||
| import { createSSRApp } from "vue"; | import { createSSRApp } from "vue"; | ||||
| import { renderToString } from "vue/server-renderer"; | import { renderToString } from "vue/server-renderer"; | ||||
| import App from "@/App.tsx"; | |||||
| import transpileResponse from './transpile.ts'; | |||||
| import { createRouter, createMemoryHistory } from 'vue-router'; | |||||
| import Home from "@/home/App.tsx"; | |||||
| import GERoot, { routes as geRoutes } from "@/generative-energy/GERoot.tsx"; | |||||
| import transpileResponse from "./transpile.ts"; | |||||
| import { DOMParser } from 'jsr:@b-fuze/deno-dom' | |||||
| const utf8Decoder = new TextDecoder("utf-8"); | const utf8Decoder = new TextDecoder("utf-8"); | ||||
| const parser = new DOMParser(); | |||||
| Deno.serve({ | Deno.serve({ | ||||
| port: 8080, | port: 8080, | ||||
| hostname: "0.0.0.0", | hostname: "0.0.0.0", | ||||
| @@ -15,22 +20,58 @@ Deno.serve({ | |||||
| }, async (req, _conn) => { | }, async (req, _conn) => { | ||||
| if (req.method === "GET") { | if (req.method === "GET") { | ||||
| const pathname = URL.parse(req.url)?.pathname ?? "/"; | const pathname = URL.parse(req.url)?.pathname ?? "/"; | ||||
| if (pathname === "/") { | |||||
| const rendered = await renderToString(createSSRApp(App)); | |||||
| const content = utf8Decoder.decode(await Deno.readFile("./public/index.html")) | |||||
| if (pathname.startsWith('/static/') || | |||||
| pathname.startsWith('/generative-energy/static/')) { | |||||
| if (pathname.startsWith('/static/')) { | |||||
| return serveFile(req, `public/home/${ pathname }`); | |||||
| } else { | |||||
| return serveFile(req, `public${pathname}`); | |||||
| } | |||||
| } else if (pathname === "/") { | |||||
| const rendered = await renderToString(createSSRApp(Home)); | |||||
| const content = utf8Decoder.decode(await Deno.readFile("./public/home/index.html")) | |||||
| .replace(`<!-- SSR OUTLET -->`, rendered) | .replace(`<!-- SSR OUTLET -->`, rendered) | ||||
| .replace(`<!-- SSR HEAD OUTLET -->`, ''); | |||||
| .replace(`<!-- SSR HEAD OUTLET -->`, ""); | |||||
| return new Response(content, { headers: { "Content-Type": "text/html" } }); | |||||
| } else if (pathname.startsWith('/generative-energy')) { | |||||
| const app = createSSRApp(GERoot); | |||||
| const router = createRouter({ | |||||
| routes: geRoutes, | |||||
| history: createMemoryHistory('/generative-energy'), | |||||
| }); | |||||
| app.use(router); | |||||
| app.provide('dom-parse', (innerHTML: string) => { | |||||
| return parser.parseFromString(innerHTML, 'text/html').documentElement; | |||||
| }); | |||||
| const ssrContext = { registry: {}}; | |||||
| await router.replace(pathname.split('/generative-energy')[1]); | |||||
| await router.isReady(); | |||||
| const rendered = await renderToString(app, ssrContext); | |||||
| const content = utf8Decoder.decode(await Deno.readFile("./public/generative-energy/index.html")) | |||||
| .replace('%TITLE%', 'Generative Energy') | |||||
| .replace('<!-- SSR HEAD OUTLET -->', ` | |||||
| <script type="importmap"> | |||||
| { | |||||
| "imports": { | |||||
| "vue": "/deps/vue/dist/vue.esm-browser.prod.js", | |||||
| "vue-router": "/deps/vue-router/dist/vue-router.esm-browser.js", | |||||
| "vue/jsx-runtime": "/deps/vue/jsx-runtime/index.mjs", | |||||
| "@vue/devtools-api": "/deps/@vue/devtools-api/lib/esm/index.js", | |||||
| "@/": "/app/" | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <script> window.appstate = ${ JSON.stringify(ssrContext.registry) }; </script> | |||||
| `) | |||||
| .replace(`<!-- SSR OUTLET -->`, rendered); | |||||
| return new Response(content, { headers: { "Content-Type": "text/html" } }); | return new Response(content, { headers: { "Content-Type": "text/html" } }); | ||||
| } else if (pathname === "/health") { | |||||
| return new Response("OK"); | |||||
| } else if (pathname.startsWith('/app') && (pathname.endsWith('.ts') || pathname.endsWith('.tsx'))) { | |||||
| const response = await serveFile(req, './' + pathname); | |||||
| } else if (pathname.startsWith("/app") && (pathname.endsWith(".ts") || pathname.endsWith(".tsx"))) { | |||||
| const response = await serveFile(req, "./" + pathname); | |||||
| return await transpileResponse(response, req.url, pathname); | return await transpileResponse(response, req.url, pathname); | ||||
| } else if (pathname.startsWith('/deps')) { | |||||
| return serveFile(req, `node_modules/${pathname.split('/deps')[1]}`); | |||||
| } else { | |||||
| return serveFile(req, `public${ pathname }`); | |||||
| } | |||||
| } else if (pathname.startsWith("/deps")) { | |||||
| return serveFile(req, `node_modules/${pathname.split("/deps")[1]}`); | |||||
| } | |||||
| return new Response("Not found.", { status: 404 }); | |||||
| } else { | } else { | ||||
| return new Response("Only GET allowed.", { status: 500 }); | return new Response("Only GET allowed.", { status: 500 }); | ||||
| } | } | ||||
| @@ -0,0 +1,25 @@ | |||||
| <!DOCTYPE html> | |||||
| <html> | |||||
| <head> | |||||
| <meta charset="utf-8"> | |||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |||||
| <title>%TITLE%</title> | |||||
| <link rel="stylesheet" href="/generative-energy/static/styles.css"> | |||||
| <link | |||||
| href="https://fonts.googleapis.com/css2?family=Roboto&family=Roboto+Slab:wght@600&display=swap" | |||||
| rel="stylesheet"> | |||||
| <!-- <link rel="icon" href="/generative-energy/favicon.ico" sizes="any" /> --> | |||||
| <meta name="description" content="Generative Energy - A page dedicated to Dr. Raymond Peat"> | |||||
| <meta property="og:title" content="%TITLE%"> | |||||
| <meta property="og:image" content="icecream.png"> | |||||
| <!-- SSR HEAD OUTLET --> | |||||
| <script type="module">import "@/generative-energy/client.ts";</script> | |||||
| </head> | |||||
| <body> | |||||
| <div id="app-root"><!-- SSR OUTLET --></ div> | |||||
| </body> | |||||
| </html> | |||||
| @@ -0,0 +1,651 @@ | |||||
| <h1> | |||||
| <span lang="en">Caffeine: A vitamin-like nutrient, or adaptogen</span> | |||||
| <span lang="de">Koffein: ein vitamin-ähnlicher Nährstoff, oder Adaptogen</span> | |||||
| </h1> | |||||
| <p> | |||||
| <span lang="en"><strong>Questions about tea and coffee, cancer and other degenerative diseases, and the hormones.</strong></span> | |||||
| <span lang="de"><strong>Fragen zu Tee und Kaffee, Krebs und anderen degenerativen Krankheiten, sowie zu den Hormonen.</strong></span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| There is a popular health-culture that circulates mistaken ideas about | |||||
| nutrition, and coffee drinking has been a perennial target of this culture. It | |||||
| is commonly said that coffee is a drug, not a food, and that its drug action | |||||
| is harmful, and that this harm is not compensated by any nutritional benefit. | |||||
| Most physicians subscribe to most of these "common sense" ideas about coffee, | |||||
| and form an authoritative barrier against the assimilation of scientific | |||||
| information about coffee. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Es gibt eine sehr beliebte "Gesundheitskultur", die irrtümliche Ideen über Ernährung verbreitet, und der | |||||
| Kaffeekonsum ist immerwährend ein Angriffsziel dieser Kultur. | |||||
| Es heißt häufig, dass Kaffee eine Droge und kein Lebensmittel wäre, und dass seine Drogenwirkung schädlich wäre, | |||||
| was keineswegs durch irgendwelchen nahrhaften Mehrwert ausgeglichen wird. | |||||
| Die meisten Ärzte vetreten die meisten dieser Ideen, die zum "gesunden Menschenverstand" gehörten, und bilden | |||||
| eine Art autoritäre Barriere gegen die Aufnahme wissenschaftlicher Informationen zu Kaffee. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en">I think it would be good to reconsider coffee"s place in the diet and in health care.</span> | |||||
| <span lang="de">Ich glaube, es wäre gut zu überdenken, welche Stelle Kaffee in der Ernährung und im Gesundheitswesen einnimmt.</span> | |||||
| </p> | |||||
| <p> | |||||
| <li> | |||||
| <span lang="en"><strong>Coffee drinkers have a lower incidence of thyroid disease, including cancer, than non-drinkers.</strong></span> | |||||
| <span lang="de"><strong>Kaffeetrinker leiden seltener unter Schilddrüsenkrankheiten, darunter Krebs, als Nichttrinker.</strong></span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine protects the liver from alcohol and acetaminophen (Tylenol) and | |||||
| other toxins, and coffee drinkers are less likely than people who don"t use | |||||
| coffee to have elevated serum enzymes and other indications of liver | |||||
| damage.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Koffein schützt die Leber vor Alkohol und <span class="check">Acetaminophen (Tylenol)</span> | |||||
| und anderen Giftstoffen, und erhöhte Serumenzymwerte und andere Inidizien einer Leberschädigung sind bei Kaffeetrinkern seltener als Nichttrinkern.</strong> | |||||
| </span | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"><strong>Caffeine protects against cancer caused by radiation, chemical carcinogens, | |||||
| viruses, and estrogens.</strong></span> | |||||
| <span lang="de"><strong>Koffein schützt vor Krebsarten, die durch chemische Krebserreger, Viren, und Östrogene verursacht werden.</strong></span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"><strong>Caffeine synergizes with progesterone, and increases its concentration in | |||||
| blood and tissues.</strong></span> | |||||
| <span lang="de"><strong>Koffein weist eine Synergie mit Progesteron auf und erhöht dessen Konzentration im Blut und sowie im Gewebe.</strong></span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"><strong>Cystic breast disease is not caused by caffeine, in fact caffeine"s effects | |||||
| are likely to be protective; a variety of studies show that coffee, tea, and | |||||
| caffeine are protective against breast cancer.</strong></span> | |||||
| <span lang="de"><strong><span class="check">Mastopathie</span> wird nicht durch Koffein verursacht. Koffein wirkt wohlmöglich schützend; eine Vielzahl von Studien zeigt, dass Kaffee, Tee, und Koffein vor Brustkrebs schützen.</strong></span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Coffee provides very significant quantities of magnesium, as well as other nutrients including vitamin B1.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Kaffee liefert sehr hohe Mengen von Magnesium sowie anderen Nährstoffen wie Vitamin B1.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"><strong>Caffeine "improves efficiency of fuel use" and performance: JC Wagner 1989.</strong></span> | |||||
| <span lang="de"><strong>Koffein "erhöht die Nutzungseffezienz von Brennstoffen" und die Leistung: JC Wagner 1989.</strong></span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Coffee drinkers have a low incidence of suicide.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Kaffeetrinker haben eine geringere Suizidrate.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine supports serotonin uptake in nerves, and inhibits blood platelet aggregation.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Koffein begünstigt die Aufnahme von Serotonin in die Nerven und hemmt die Thrombozytenaggregation.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Coffee drinkers have been found to have lower cadmium in tissues; coffee making removes heavy metals from water.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Es wurde beobachtet, dass Kaffeetrinker weniger Cadmium im Gewebe haben; die Zubereitung von Kaffee entfernt Schwermetalle aus Wasser.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Coffee inhibits iron absorption if taken with meals, helping to prevent iron overload.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Kaffee hemmt die Aufnahme von Eisen, wenn es zusammen mit einer Mahlzeit getrunken wird, was vor Eisenüberlastung schützen kann.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine, like niacin, inhibits apoptosis, protecting against stress-induced cell death, without interfering with normal cell turnover.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Koffein, wie Niacin, hemmt die Apoptose. So schützt es vor dem durch Stress verursachten Zelltod, ohne den normalen Zellumsatz zu stören.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine can prevent nerve cell death.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Koffein kann den Zelltod der Nerven verhindern.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Coffee (or caffeine) prevents Parkinson"s Disease (Ross, et al., 2000).</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Kaffee (bzw. Koffein) schützt vor Parkinson (Ross, et al., 2000).</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>The prenatal growth retardation that can be caused by feeding large amounts of caffeine is prevented by supplementing the diet with sugar.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Die vorgeburtliche Wachstumsverzögerung, die durch eine hohe Zufuhr von Koffein verursacht werden kann, kann verhindert werden, wenn die Ernährung durch ausreichend Zucker ergänzt wird.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine stops production of free radicals by inhibiting xanthine oxidase, an important factor in tissue stress.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Durch die Hemmung des Enzyms Xanthinoxidase hält Koffein die Produktion von freien Radikalen auf.</strong> | |||||
| </span> | |||||
| </li> | |||||
| <li> | |||||
| <span lang="en"> | |||||
| <strong>Caffeine lowers serum potassium following exercise; stabilizes platelets, reducing thromboxane production.</strong> | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Koffein senkt das Kalium im Blut nach sportlichen Aktivitäten; es stabilisiert die Blutplättchen und hemmt dadurch die Produktion von Thromboxan.</strong> | |||||
| </span> | |||||
| </li> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| One definition of a vitamin is that it is an organic chemical found in foods, | |||||
| the lack of which <em>causes</em> a specific | |||||
| <em>disease,</em> or group of diseases. A variety of | |||||
| substances that have been proposed to be vitamins haven"t been recognized as | |||||
| being essential, and some substances that aren"t essential are sometimes | |||||
| called vitamins. Sometimes these issues haven"t had enough scientific | |||||
| investigation, but often nonscientific forces regulate nutritional ideas. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Eine Definition eines Vitamins ist, dass ein organisches Molekül ist, das sich in Nahrungsmitteln vorfindet, | |||||
| dessen Mangel die <em>Ursache</em> einer gewissen <em>Krankheit</em> bzw. einer | |||||
| Reihe von Krankheiten ist. Eine Vielzahl von Substanzen, die als Vitamin vorgeschlagen wurden, wurde nicht als | |||||
| lebensnotwendig erkannt. Umgekehrt werden einige nicht lebensnotwendige Substanzen manchmal Vitamine genannt. | |||||
| Manchmal sind diese Themen nicht ausreichend erforscht, aber Ideen über die Ernährung werden oft von | |||||
| nicht-wissenschaftlichen Mächten reguliert. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| The definition of "a disease" isn"t as clear as text-book writers have | |||||
| implied, and "causality" in biology is always more complex than we like to | |||||
| believe. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Die Definition einer "Krankheit" ist nicht so klar, wie es den Lehrbüchern nach manchmal erscheinen mag, und | |||||
| Kausalität in der Biologie ist immer komplexer als wir glauben möchten. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| Nutrition is one of the most important sciences, and should certainly be as | |||||
| prestigious and well financed as astrophysics and nuclear physics, but while | |||||
| people say "it doesn"t take a brain surgeon to figure that out," no one says | |||||
| "it doesn"t take a nutritionist to understand that." Partly, that"s because | |||||
| medicine treated scientific nutrition as an illegitimate step-child, and | |||||
| refused throughout the 20th century to recognize that it is a central part of | |||||
| scientific health care. In the 1970s, physicians and dietitians were still | |||||
| ridiculing the idea that vitamin E could prevent or cure diseases of the | |||||
| circulatory system, and babies as well as older people were given "total | |||||
| intravenous nutrition" which lacked nutrients that are essential to life, | |||||
| growth, immunity, and healing. Medicine and science are powerfully | |||||
| institutionalized, but no institution or profession has existed for the | |||||
| purpose of encouraging people to act reasonably. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Die Ernährungswissenschaft ist eine der wichtigsten Naturwissenschaften und sollte gewiss das Prestige | |||||
| und die Finanzierung erhalten wie die Astro- oder Kernphysik. Doch obwohl es im Englischen oft gesagt wird, | |||||
| dass "man kein Raketenforscher sein muss, um das zu verstehen", ist hier nie die Rede von einem | |||||
| Ernährungswissenschaftler. Das liegt teilweise daran, dass die Ernährungswissenschaft von der Medizin wie ein | |||||
| uneheliches Stiefkind behandelt wurde, und im Laufe des 20. Jahrhunderts weigerte man sich, sie als | |||||
| zentraler Teil des wissenschaftlichen Gesundheitswesens anzuerkennen. Ärzte und Ernährungsberater verpotteten | |||||
| noch bis in die 1970er die Idee, dass Vitamin E Herzkreislauferkrankungen vorbeugen oder sie sogar heilen | |||||
| könnte, und Säuglinge sowie ältere Menschen bekamen "totale parentale Ernährung", denen Nährstoffe fehlte, die | |||||
| fürs Leben, das Wachstum, die Immunität und Heilung notwendig sind. Die Medizin und die Naturwissenschaften sind | |||||
| stark institutionalisiert, aber es gab bislang weder eine Institution noch einen Beruf, der zu dem Zweck | |||||
| existierte, rationales Handeln zu fördern. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| In this environment, most people have felt that subtleties of definition, | |||||
| logic and evidence weren"t important for nutrition, and a great amount of | |||||
| energy has gone into deciding whether there were "four food groups" or "seven | |||||
| food groups" or a "nutritional pyramid." The motives behind governmental and | |||||
| quasi-governmental nutrition policies usually represent something besides a | |||||
| simple scientific concern for good health, as when health care institutions | |||||
| say that Mexican babies should begin eating beans when they reach the age of | |||||
| six months, or that non-whites don"t need milk after they are weaned. In a | |||||
| culture that discourages prolonged breast feeding, the effects of these | |||||
| doctrines can be serious. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| In diesem Umfeld hatten die meisten Leute den Eindruck, dass die Feinheiten von Definitionen, Logik und | |||||
| Beweisen nicht wichtig für die Ernährungswissenschaft sind, und es wurde sehr viel Energie investiert, um zu | |||||
| entscheiden, ob es entweder "vier Lebensmittelgruppen" oder sieben gibt, oder sogar eine "Ernährungspyramide". | |||||
| Die Motivationen, die hinter staatlicher bzw. pseudo-staatlicher Ernährungspolitik stecken, stellen | |||||
| normalerweise etwas anderes außer einfachem wissentschaftlichen Interesse für gute Gesundheit dar. So wird | |||||
| beispielweise behauptet, dass mexikanische Säuglinge nach dem Alter von sechs Monaten anfangen sollten, Bohnen | |||||
| zu essen, oder dass Nichtweiße keine Milch bräuchten, nachdem sie abgestillt wurden. In einer Kultur, die vor | |||||
| verlängertem Stillen abrät, können die Folgen solcher Doktrinen ernste Konsequenzen mit sich tragen. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| After a century of scientific nutrition, public nutritional policies are doing | |||||
| approximately as much harm as good, and they are getting worse faster than | |||||
| they are getting better.. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Nach einem Jahrhundert Ernährungswissenschaft sorgt die öffentliche Ernährungspolitik für ungefähr genauso viel | |||||
| Schaden wie Nutzen und sie wird schneller schlimmer, als dass sie besser wird. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| In this culture, what we desperately need is a recognition of the complexity | |||||
| of life, and of the political-ecological situation we find ourselves in. Any | |||||
| thinking which isn"t "system thinking" should be treated with caution, and | |||||
| most contemporary thinking about health neglects to consider relevant parts of | |||||
| the problem-system. "Official" recommendations about salt, cholesterol, iron, | |||||
| unsaturated and saturated fats, and soybeans have generally been | |||||
| inappropriate, unscientific, and strongly motivated by business interests | |||||
| rather than by biological knowledge. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Das, was wir in dieser Kultur dringend nötig haben, ist eine Anerkennung der Komplexität des Lebens, und der | |||||
| politisch-ökologischen Situation, in der wir uns befinden. Jegliches Denken, das kein "Systemdenken" ist, | |||||
| sollte man mit Vorbehalt betrachten und der Großteil zeitgenössischer Gedanken zur Gesundheit beachtet | |||||
| relevante Teile des Problem-Systems nicht. "Offizielle" Ratschläge zu Salz, Cholesterin, Eisen, gesättigten und | |||||
| ungesättigten Fetten, und Sojabohnen waren bisher in der Regel unangemessen, unwissenschaftlich, und wurden | |||||
| stark durch geschäftliche Interessen statt biologisches Wissen motiviert. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| Definitions have rarely distinguished clearly between nutrients and drugs, and | |||||
| new commercial motives are helping to further blur the distinctions. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Manche Definitionen unterscheiden nicht klar zwischen Nährstoffen und Drogen, und wirtschaftliche Motiven | |||||
| sorgen dafür, dass die Unterschiede weiter verschwimmen. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| <strong | |||||
| >Essential nutrients, defensive (detoxifying, antistress) nutrients, | |||||
| hormone-modulating nutrients, self-actualization nutrients, growth | |||||
| regulating nutrients, structure modifiers, life extension agents, | |||||
| transgenerationally active (imprinting)</strong> | |||||
| <strong>nutrients--</strong>the line between nutrients and biological | |||||
| modifiers often depends on the situation. Vitamins D and A clearly have | |||||
| hormone-like properties, and vitamin E"s effects, and those of many terpenoids | |||||
| and steroids and bioflavonoids found in foods, include hormone-like actions as | |||||
| well as antioxidant and pro-oxidant functions. The concept of "adaptogen" can | |||||
| include things that act like both drugs and nutrients. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| <strong>Lebensnotwendige Nährstoffe, defensive (entgiftende, stresshemmende) Nährstoffe, | |||||
| hormon-modulierende Nährstoffe, Nährstoffe zur Selbstverwirklichung, wachstumsregulierende Nährstoffe, | |||||
| Strukturmodifikatoren, Lebensverlängerungswirkstoffe, transgenerationell aktive (prägende) Nährstoffe - | |||||
| </strong> die Grenze zwischen Nährstoffen und biologischen Modifikatoren hängt oft von der Situation ab. Die | |||||
| Vitmaine D und A haben klare hormon-ähnliche Eigenschaften, und zu den Wirkungen von Vitamin E sowie mehreren | |||||
| anderen Terpenoiden, Steroiden, und Bioflavonoiden in Lebensmitteln zählen hormon-ähnliche sowie antioxidative | |||||
| und pro-oxidative Funktionen. Das Konzept eines "Adaptogens" kann Dinge umfassen, die sich wie sowohl Drogen | |||||
| als auch Nährstoffe verhalten. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| Some studies have suggested that trace amounts of nutrients could be passed on | |||||
| for a few generations, but the evidence now indicates that these | |||||
| transgenerational effects are caused by phenomena such as "imprinting." But | |||||
| the hereditary effects of nutrients are so complex that their recognition | |||||
| would force nutrition to be recognized as one of the most complex sciences, | |||||
| interwoven with the complexities of growth and development. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Einige Studien legten nahe, dass Spuren von Nährstoffen über einige Generationen hinweg weitergegeben werden können, | |||||
| aber die Beweislage zeigt nun, dass diese transgenerationellen Effekte ihren Ursprung in Phänomenen wie | |||||
| "Prägung" haben. Aber die vererbten Wirkungen von Nährstoffen sind so komplex, dass ihre Anerkennung dafür | |||||
| sorgen würde, dass die Ernährungswissenschaft als eine der komplexesten Naturwissenschaften anerkannt werden müsste; | |||||
| eine Wissenschaft, die mit den Komplexitäten von Wachstum und Entwicklung eng verflochten ist. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| The idea that poor nutrition stunts growth has led to the idea that good | |||||
| nutrition can be defined in terms of the rate of growth and the size | |||||
| ultimately reached. In medicine, it is common to refer to an obese specimen as | |||||
| "well nourished," as if quantity of food and quantity of tissue were | |||||
| necessarily good things. But poisons can stimulate growth ("hormesis"), and | |||||
| food restriction can extend longevity. | |||||
| <strong | |||||
| >We still have to determine basic things such as the optimal rate of growth, | |||||
| and the optimal size.</strong | |||||
| > | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Die Idee, dass schlechte Ernährung das Wachstum hemmt, führte zur Idee, dass gute Ernährung anhand der | |||||
| Wachstumsrate und der schließlich erreichten Größe definiert werden kann. In der Medizin ist es gewöhnlich, ein | |||||
| adipöses Exemplar als "gut ernährt" zu bezeichnen, als wäre diese Menge von Essen und Gewebe zwangsläufig etwas | |||||
| gutes. Aber Giftstoffe können das Wachstum fördern ("Hormesis") und Lebensmittelbeschränkung kann das Leben | |||||
| verlängern. | |||||
| <strong>Noch müssen wir grundlegende Sachen bestimmen wie die optimale Wachstumsrate und die optimale Größe.</strong> | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| Nutrition textbooks flatly describe caffeine as a drug, not a nutrient, as if | |||||
| it were obvious that nutrients can"t be drugs. Any of the essential nutrients, | |||||
| if used in isolation, can be used as a drug, for a specific effect on the | |||||
| organism that it wouldn"t normally have when eaten as a component of ordinary | |||||
| food. And natural foods contain thousands of chemicals, other than the | |||||
| essential nutrients. Many of these are called nonessential nutrients, but | |||||
| their importance is being recognized increasingly. The truth is that we aren"t | |||||
| sure what they "aren"t essential" for. Until we have more definite knowledge | |||||
| about the organism I don"t think we should categorize things so absolutely as | |||||
| drugs or nutrients. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| In Lehrbüchern zur Ernährungswissenschaft wird Koffein kategorisch als Droge beschrieben, und keinen Nährstoff, | |||||
| als wäre es offensichtlich, dass Nährstoffe keine Drogen sein könnten. Irgendeiner der lebensnotwendigen | |||||
| Nährstoffe kann als Droge eingesetzt werden, wenn er isoliert zugeführt wird, um eine gewisse Wirkung im | |||||
| Organismus zu erzielen, die er sonst nicht hätte, wenn er als Teil einer normalen Ernährung aufgenommen werden | |||||
| würde. Und abgesehen von den lebensnotwendigen Nährstoffen enthalten natürliche Lebensmittel Tausende von anderen | |||||
| Chemikalien. Viele werden als nicht lebensnotwendig bezeichnet, aber ihre Wichtigkeit wird zunehmend anerkannt. | |||||
| Die Wahrheit ist, dass wir nicht unbedingt wissen, wofür sie "nicht lebensnotwendig" sind. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| The bad effects ascribed to coffee usually involve administering large doses | |||||
| in a short period of time. While caffeine is commonly said to raise blood | |||||
| pressure, this effect is slight, and may not occur during the normal use of | |||||
| coffee. Experimenters typically ignore essential factors. Drinking plain water | |||||
| can cause an extreme rise in blood pressure, especially in old people, and | |||||
| eating a meal (containing carbohydrate) lowers blood pressure. The increased | |||||
| metabolic rate caffeine produces increases the cellular consumption of | |||||
| glucose, so experiments that study the effects of coffee taken on an empty | |||||
| stomach are measuring the effects of increased temperature and metabolic rate, | |||||
| combined with increased adrenaline (resulting from the decrease of glucose), | |||||
| and so confuse the issue of caffeine"s intrinsic effects. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Die schädlichen Wirkungen, die Koffein zugeschrieben werden, treten meist in Zusammenhang mit einer Zufuhr von | |||||
| sehr hohen Mengen in kurzer Zeit auf. Obwohl es häufig heißt, Koffein erhöhe den Blutdruck, ist diese | |||||
| Wirkung sehr leicht, und sie könnte bei normalem Kaffeekonsum gar nicht auftreten. Forscher ignorieren | |||||
| typischerweise wesentliche Faktoren. Das Trinken von einfachem Wasser kann für einen extremen Antieg des | |||||
| Blutdrucks sorgen, insbesondere bei älteren Menschen, und eine Mahlzeit (mit Kohlenhydraten) kann ihn wiederum | |||||
| senken. Der erhöhte Stoffwechsel, für den Koffein sorgt, steigert den zellulären Glukosekonsum. Wenn Forcher | |||||
| also den Kaffekonsum auf leerem Magen erforschen, messen sie die Wirkung von erhöhter Temperatur und erhöhtem | |||||
| Stoffwechsel, zusammen mit erhöhtem Adrenalin (aufgrund von dem gesunkenen Glukosespiegel), und bringen das | |||||
| Verständnis der intrinsischen Wirkung von Koffein durcheinander. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| In one study (Krasil"nikov, 1975), the drugs were introduced directly into the | |||||
| carotid artery to study the effects on the blood vessels in the brain. | |||||
| Caffeine increased the blood volume in the brain, while decreasing the | |||||
| resistance of the vessels, and this effect is what would be expected from its | |||||
| stimulation of brain metabolism and the consequent increase in carbon dioxide, | |||||
| which dilates blood vessels. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| In einer Studie (Krasilnikov, 1975) wurden die Drogen direkt in die Karotis eingeführt, um deren Wirkung auf die | |||||
| Blutgefäße und das Gehirn zu erforschen. Koffein erhöhte das Blutvolumen im Gehirn und gleichzeitig senkte es den | |||||
| Gefäßwiderstand. Dieser Effekt sollte erwartet werden, wenn Koffein den Stoffwechsel im Gehirn fördert und | |||||
| somit für eine Erhöhung des Kohlenstoffdioxid-Gehalts, was die Blutgefäße erweitert. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| In the whole body, increased carbon dioxide also decreases vascular | |||||
| resistance, and this allows circulation to increase, while the heart"s work is | |||||
| decreased, relative to the amount of blood pumped. But when the whole body"s | |||||
| metabolism is increased, adequate nutrition is crucial. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Im ganzen Körper senkt Kohlenstoffdioxid auch den Gefäßwiderstand, was für eine Erhöhung des Kreislaufs sorgt. | |||||
| Dabei muss das Herz weniger arbeiten, um die gleiche Menge Blut zu pumpen. Aber wenn sich der Stoffwechsel des | |||||
| gesamten Körpers erhöht, ist eine angemessene Ernährung sehr wichtig. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| In animal experiments that have been used to argue that pregnant women | |||||
| shouldn"t drink coffee, large doses of caffeine given to pregnant animals | |||||
| retarded the growth of the fetuses. But simply giving more sucrose prevented | |||||
| the growth retardation. Since caffeine tends to correct some of the metabolic | |||||
| problems that could interfere with pregnancy, it is possible that rationally | |||||
| constructed experiments could show benefits to the fetus from the mother"s use | |||||
| of coffee, for example by lowering bilirubin and serotonin, preventing | |||||
| hypoglycemia, increasing uterine perfusion and progesterone synthesis, | |||||
| synergizing with thyroid and cortisol to promote lung maturation, and | |||||
| providing additional nutrients. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| In Tierversuchen, die als Argument benutzt werden, dass schwangere Frauen keinen Kaffee trinken sollten, | |||||
| verzögerten hohe Mengen von Koffein das Wachstum der Föten. Aber die einfache Gabe von mehr Saccharose | |||||
| verhinderte diese Wachstumsverzögerung. Da Koffein einige der Stoffwechselprobleme behebt, die eine | |||||
| Schwangerschaft behindern könnten, ist es möglich, dass rational aufgebaute Experimente Vorteile für den Fötus | |||||
| durch den Kaffeekonsum der Mutter zeigen könnten, zum Beispiel durch die Senkung von Biliburin und Serotonin, | |||||
| die Verhindernung von Unterzuckerung, die Steigerung der Durchblutung der Gebärmutter und der Synthese von | |||||
| Progesteron, die Synergie mit Schilddrüsenhormon und Cortisol zur Förderung der Lungenreifung, und die Zufuhr | |||||
| zusätzlicher Nährstoffe. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en"> | |||||
| One of the most popular misconceptions about caffeine is that it causes | |||||
| fibrocystic breast disease. Several groups demonstrated pretty clearly that it | |||||
| doesn"t, but there was no reason that they should have had to bother, except | |||||
| for an amazingly incompetent, but highly publicized, series of | |||||
| articles--classics of their kind--by J. P. Minton, of Ohio State University. | |||||
| Minton neglected to notice that the healthy breast contains a high percentage | |||||
| of fat, and that the inflamed and diseased breast has an increased proportion | |||||
| of glandular material Fat cells have a low level of cyclic AMP, a regulatory | |||||
| substance that is associated with normal cellular differentiation and | |||||
| function, and is involved in mediating caffeine"s ability to inhibit cancer | |||||
| cell multiplication. Minton argued that cAMP increases progressively with the | |||||
| degree of breast disease, up to cancer, and that cAMP is increased by | |||||
| caffeine. A variety of substances other than caffeine that inhibit the growth | |||||
| of cancer cells (as well as normal breast cells) act by | |||||
| <em>increasing</em> the amount of cyclic AMP, while estrogen lowers the amount | |||||
| of cAMP and increases cell growth. Minton"s argument should have been to use | |||||
| more caffeine, in proportion to the degree of breast disease, if he were | |||||
| arguing logically from his evidence. Caffeine"s effect on the breast resembles | |||||
| that of progesterone, opposing estrogen"s effects. | |||||
| </span> | |||||
| <span lang="de"> | |||||
| Einer der am weitesten verbreitenen Irrtümer über Koffein ist die Behauptung, es verursache Mastopathie. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| Many studies over the last 30 years have shown caffeine to be highly | |||||
| protective against all kinds of carcinogenesis, including estrogen"s | |||||
| carcinogenic effects on the breast. Caffeine is now being used along with some | |||||
| of the standard cancer treatments, to improve their effects or to reduce their | |||||
| side effects. There are substances in the coffee berry besides caffeine that | |||||
| protect against mutations and cancer, and that have shown strong therapeutic | |||||
| effects against cancer. Although many plant substances are protective against | |||||
| mutations and cancer, I don"t know of any that is as free of side effects as | |||||
| coffee. | |||||
| </p> | |||||
| <p> | |||||
| To talk about caffeine, it"s necessary to talk about uric acid. | |||||
| <strong> | |||||
| Uric acid, synthesized in the body, is both a stimulant and a very important | |||||
| antioxidant, and its structure is very similar to that of caffeine. | |||||
| </strong> | |||||
| A deficiency of uric acid is a serious problem. Caffeine and uric acid are in | |||||
| the group of chemicals called purines. | |||||
| </p> | |||||
| <p> | |||||
| Purines (along with pyrimidines) are components of the nucleic acids, DNA and | |||||
| RNA, but they have many other functions. In general, substances related to | |||||
| purines are stimulants, and substances related to pyrimidines are sedatives. | |||||
| </p> | |||||
| <p> | |||||
| When the basic purine structure is oxidized, it becomes in turn hypoxanthine, | |||||
| xanthine, and uric acid, by the addition of oxygen atoms. When methyl groups | |||||
| (CH<sub>3</sub>) are added to nitrogens in the purine ring, the molecule | |||||
| becomes less water soluble. Xanthine (an intermediate in purine metabolism) | |||||
| has two oxygen atoms, and when three methyl groups are added, it becomes | |||||
| trimethyl xanthine, or caffeine. With two methyl groups, it is theophylline, | |||||
| which is named for its presence in tea. We have enzyme systems which can add | |||||
| and subtract methyl groups<strong>;</strong> for example, when babies are | |||||
| given theophylline, they can convert it into caffeine. | |||||
| </p> | |||||
| <p> | |||||
| We have enzymes that can modify all of the methyl groups and oxygen atoms of | |||||
| caffeine and the other purine derivatives. Caffeine is usually excreted in a | |||||
| modified form, for example as a methylated uric acid. | |||||
| </p> | |||||
| <p> | |||||
| One of the ways in which uric acid functions as an "antioxidant" is by | |||||
| modifying the activity of the enzyme xanthine oxidase, which in stress can | |||||
| become a dangerous source of free radicals. Caffeine also restrains this | |||||
| enzyme. There are several other ways in which uric acid and caffeine (and a | |||||
| variety of intermediate xanthines) protect against oxidative damage. Coffee | |||||
| drinkers, for example, have been found to have lower levels of cadmium in | |||||
| their kidneys than people who don"t use coffee, and coffee is known to inhibit | |||||
| the absorption of iron by the intestine, helping to prevent iron overload. | |||||
| </p> | |||||
| <p> | |||||
| Toxins and stressors often kill cells, for example in the brain, liver, and | |||||
| immune system, by causing the cells to expend energy faster than it can be | |||||
| replaced. There is an enzyme system that repairs genetic damage, called | |||||
| "PARP." The activation of this enzyme is a major energy drain, and substances | |||||
| that inhibit it can prevent the death of the cell. Niacin and caffeine can | |||||
| inhibit this enzyme sufficiently to prevent this characteristic kind of cell | |||||
| death, without preventing the normal cellular turnover<strong>;</strong> that | |||||
| is, they don"t produce tumors by preventing the death of cells that aren"t | |||||
| needed. | |||||
| </p> | |||||
| <p> | |||||
| The purines are important in a great variety of regulatory processes, and | |||||
| caffeine fits into this complex system in other ways that are often protective | |||||
| against stress. For example, it has been proposed that tea can protect against | |||||
| circulatory disease by preventing abnormal clotting, and the mechanism seems | |||||
| to be that caffeine (or theophylline) tends to restrain stress-induced | |||||
| platelet aggregaton. | |||||
| </p> | |||||
| <p> | |||||
| When platelets clump, they release various factors that contribute to the | |||||
| development of a clot. Serotonin is one of these, and is released by other | |||||
| kinds of cell, including mast cells and basophils and nerve cells. Serotonin | |||||
| produces vascular spasms and increased blood pressure, blood vessel leakiness | |||||
| and inflammation, and the release of many other stress mediators. Caffeine, | |||||
| besides inhibiting the platelet aggregation, also tends to inhibit the release | |||||
| of serotonin, or to promote its uptake and binding. | |||||
| </p> | |||||
| <p> | |||||
| J. W. Davis, et al., 1996, found that high uric acid levels seem to protect | |||||
| against the development of Parkinson"s disease. They ascribed this effect to | |||||
| uric acid"s antioxidant function. Coffee drinking, which <em>lowers</em> uric | |||||
| acid levels, nevertheless appeared to be much more strongly protective against | |||||
| Parkinson"s disease than uric acid. | |||||
| </p> | |||||
| <p> | |||||
| Possibly more important than coffee"s ability to protect the health is the way | |||||
| it does it. The studies that have tried to gather evidence to show that coffee | |||||
| is harmful, and found the opposite, have provided insight into several | |||||
| diseases. For example, coffee"s effects on serotonin are very similar to | |||||
| carbon dioxide"s, and the thyroid hormone"s. Noticing that coffee drinking is | |||||
| associated with a low incidence of Parkinson"s disease could focus attention | |||||
| on the ways that thyroid and carbon dioxide and serotonin, estrogen, mast | |||||
| cells, histamine and blood clotting interact to produce nerve cell death. | |||||
| </p> | |||||
| <p> | |||||
| Thinking about how caffeine can be beneficial across such a broad spectrum of | |||||
| problems can give us a perspective on the similarities of their underlying | |||||
| physiology and biochemistry, expanding the implications of stress, biological | |||||
| energy, and adaptability. | |||||
| </p> | |||||
| <p> | |||||
| The observation that coffee drinkers have a low incidence of suicide, for | |||||
| example, might be physiologically related to the large increase in suicide | |||||
| rate among people who use the newer antidepressants called "serotonin reuptake | |||||
| inhibitors." Serotonin excess causes several of the features of depression, | |||||
| such as learned helplessness and reduced metabolic rate, while coffee | |||||
| stimulates the <em>uptake</em> (inactivation or storage) of serotonin, | |||||
| increases metabolic energy, and tends to improve mood. In animal studies, it | |||||
| reverses the state of helplessness or despair, often more effectively than | |||||
| so-called antidepressants. | |||||
| </p> | |||||
| <p> | |||||
| The research on caffeine"s effects on blood pressure, and on the use of fuel | |||||
| by the more actively metabolizing cells, hasn"t clarified its effects on | |||||
| respiration and nutrition, but some of these experiments confirm things that | |||||
| coffee drinkers usually learn for themselves. | |||||
| </p> | |||||
| <p> | |||||
| Often, a woman who thinks that she has symptoms of hypoglycemia says that | |||||
| drinking even the smallest amount of coffee makes her anxious and shaky. | |||||
| Sometimes, I have suggested that they try drinking about two ounces of coffee | |||||
| with cream or milk along with a meal. It"s common for them to find that this | |||||
| reduces their symptoms of hypoglycemia, and allows them to be symptom-free | |||||
| between meals. Although we don"t know exactly why caffeine improves an | |||||
| athlete"s endurance, I think the same processes are involved when coffee | |||||
| increases a person"s "endurance" in ordinary activities. | |||||
| </p> | |||||
| <p> | |||||
| Caffeine has remarkable parallels to thyroid and progesterone, and the use of | |||||
| coffee or tea can help to maintain their production, or compensate for their | |||||
| deficiency. Women spontaneously drink more coffee premenstrually, and since | |||||
| caffeine is known to increase the concentration of progesterone in the blood | |||||
| and in the brain, this is obviously a spontaneous and rational form of | |||||
| self-medication, though medical editors like to see things causally reversed, | |||||
| and blame the coffee drinking for the symptoms it is actually alleviating. | |||||
| Some women have noticed that the effect of a progesterone supplement is | |||||
| stronger when they take it with coffee. This is similar to the synergy between | |||||
| thyroid and progesterone, which is probably involved, since caffeine tends to | |||||
| <em>locally</em> activate thyroid secretion by a variety of mechanisms, | |||||
| increasing cyclic AMP and decreasing serotonin in thyroid cells, for example, | |||||
| and also by lowering the systemic stress mediators. | |||||
| </p> | |||||
| <p> | |||||
| Medical editors like to publish articles that reinforce important prejudices, | |||||
| even if, scientifically, they are trash. The momentum of a bad idea can | |||||
| probably be measured by the tons of glossy paper that have gone into its | |||||
| development. Just for the sake of the environment, it would be nice if editors | |||||
| would try to think in terms of evidence and biological mechanisms, rather than | |||||
| stereotypes. | |||||
| </p> | |||||
| <p class="notranslate"> | |||||
| <a href="https://raypeat.com/articles/articles/hypothyroidism.shtml">Originalartikel und Quellenverzeichnis</a> | |||||
| </p> | |||||
| @@ -0,0 +1,801 @@ | |||||
| <h1 lang="en">TSH, temperature, pulse rate, and other indicators in hypothyroidism</h1> | |||||
| <h1 lang="de">TSH, Temperatur, Puls, und andere Indikatoren bei einer Schilddrüsenunterfunktion</h1> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Each of the indicators of thyroid function can be useful, but has to be interpreted in relation to the | |||||
| physiological state.</span> | |||||
| <span lang="de" | |||||
| >Jeder einzelne der Indikatoren der Schilddrüsenfunktion kann zwar nützlich sein, aber sie müssen in Zusammenhang | |||||
| mit dem gesamten physiologischen Grundzustand betrachtet werden.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Increasingly, TSH (the pituitary thyroid stimulating hormone) has been treated as if it meant something | |||||
| independently; however, it can be brought down into the normal range, or lower, by substances other than the | |||||
| thyroid hormones.</span> | |||||
| <span lang="de" | |||||
| >TSH (oder Thyreotropin, das Thyreoidea-stimulierendes oder Schilddrüsen-stimulierendes Hormon der Hypophyse) wird | |||||
| zunehmend so behandelt, als hätte es isoliert etwas zu bedeuten; allerdings kann es durch andere Substanzen als | |||||
| die Schilddrüsenhormone bis in den normalen Bereich oder gar tiefer gesenkt werden.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >“Basal” body temperature is influenced by many things besides thyroid. The resting heart rate helps to interpret | |||||
| the temperature. In a cool environment, the temperature of the extremities is sometimes a better indicator than | |||||
| the oral or eardrum temperature.</span> | |||||
| <span lang="de" | |||||
| >Es sind nämlich nicht nur die Schilddrüsenhormone, die die „basale“ Körpertemperatur beeinflussen können. Der | |||||
| Ruhepuls kann z.B. als Hilfsmittel dienen, die Temperatur zu interpretieren. In einer kühlen Umgebung ist die | |||||
| Temperatur der Extremitäten ein besserer Indikator als die Oral- oder Trommelfelltemperatur.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The “basal” metabolic rate, especially if the rate of carbon dioxide production is measured, is very useful. The | |||||
| amount of water and calories disposed of in a day can give a rough idea of the metabolic rate.</span> | |||||
| <span lang="de" | |||||
| >Der „basale“ Grundumsatz ist vor allem dann sehr nützlich, wenn die Produktionsrate von CO2 mitgemessen wird. Die | |||||
| Menge an Wasser und Kalorien, die im Laufe eines Tages verwertet werden, können als grobe Richtwerte für den | |||||
| Grundumsatz dienen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The T wave on the electrocardiogram, and the relaxation rate on the Achilles reflex test are useful.</span> | |||||
| <span lang="de" | |||||
| >Sowohl die T-Welle eines Elektrokardiogramms als auch die Entspannungszeit beim Achillessehnenreflex-Test sind | |||||
| nützlich.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Blood tests for cholesterol, albumin, glucose, sodium, lactate, total thyroxine and total T3 are useful to know, | |||||
| because they help to evaluate the present thyroid status, and sometimes they can suggest ways to correct the | |||||
| problem.</span> | |||||
| <span lang="de">Es kann zudem sinnvoll sein, die Blutwerte von Cholesterin, Albumin, Glukose, Natrium, Laktat, | |||||
| Gesamt-Thyroxin, sowie Gesamt-T3 zu wissen, weil sie eine Evaluierung der aktuellen Funktionsstärke der | |||||
| Schilddrüse ermöglichen und zudem oft Hinweise geben, wie sich das Problem behandeln ließe. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Less common blood or urine tests (adrenaline, cortisol, ammonium, free fatty acids), if they are available, can | |||||
| help to understand compensatory reactions to hypothyroidism.</span> | |||||
| <span lang="de" | |||||
| >Seltenere Blut- bzw. Urinproben (Adrenalin, Cortisol, Ammoniak, freie Fettsäuren), falls sie zur Verfügung stehen, | |||||
| können dem besseren Verständnis der Kompensierungsreaktionen einer Schilddrüsenunterfunktion dienen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >A book such as McGavack's The Thyroid, that provides traditional medical knowledge about thyroid physiology, can | |||||
| help to dispel some of the current dogmas about the thyroid.</span> | |||||
| <span lang="de" | |||||
| >Bücher wie „The Thyroid“ von McGavack, die traditionelles medizinisches Wissen über Schilddrüsenphysiologie | |||||
| liefern, können helfen, einige der aktuellen Dogmata über die Schilddrüse aufzulösen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Using more physiologically relevant methods to diagnose hypothyroidism will contribute to understanding its role in | |||||
| many problems now considered to be unrelated to the thyroid.</span> | |||||
| <span lang="de">Die Benutzung physiologisch relevanter Methoden, eine Schilddrüsenunterfunktion zu diagnostizieren, | |||||
| trägt dazu bei, deren Rolle bei diversen Problemen zu verstehen, bei denen mittlerweile ein Zusammenhang mit der | |||||
| Schilddrüse ausgeschlossen wird. | |||||
| </span> | |||||
| </p> | |||||
| <hr /> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >I have spoken to several people who told me that their doctors had diagnosed them as “both hypothyroid and | |||||
| hyperthyroid.” Although physicists can believe in things which are simultaneously both particles and not | |||||
| particles, I think biology (and medicine, as far as it is biologically based) should occupy a world in which | |||||
| things are not simultaneously themselves and their opposites. Those illogical, impossible diagnoses make it | |||||
| clear that the rules for interpreting test results have in some situations lost touch with reality.</span> | |||||
| <span lang="de" | |||||
| >Ich sprach mit vielen Leuten, die mir erzählten, dass ihre Ärzte bei ihnen „gleichzeitig eine Schilddrüsenüber- | |||||
| sowie -unterfunktion“ diagnostiziert hatten. Obwohl Physiker in der Lage sind, an Dinge zu glauben, die | |||||
| gleichzeitig sowohl Partikeln als auch keine Partikeln sind, denke ich, dass die Biologie (und die Medizin, | |||||
| sofern sie auf der Biologie beruht) eine Welt bewohnen sollten, in der Sachen nicht simultan sie selbst und ihre | |||||
| Gegenteile sind. Diese unlogischen, unmöglichen Diagnosen zeigen auf, dass die Regeln zur Interpretierung von | |||||
| Testergebnissen in manchen Fällen sämtlichen Bezug zur Realität verloren haben.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Until the 1940s, hypothyroidism was diagnosed on the basis of signs and symptoms, and sometimes the measurement of | |||||
| oxygen consumption (“basal metabolic rate”) was used for confirmation. Besides the introduction of supposedly | |||||
| “scientific” blood tests, such as the measurement of protein-bound iodine (PBI) in the blood, there were other | |||||
| motives for becoming parsimonious with the diagnosis of hypothyroidism. With the introduction of synthetic | |||||
| thyroxine, one of the arguments for increasing its sale was that natural Armour thyroid (which was precisely | |||||
| standardized by biological tests) wasn't properly standardized, and that an overdose could be fatal. A few | |||||
| articles in prestigious journals created a myth of the danger of thyroid, and the synthetic thyroxine was | |||||
| (falsely) said to be precisely standardized, and to be without the dangers of the complete glandular | |||||
| extract.</span> | |||||
| <span lang="de" | |||||
| >Bis in die 1940er Jahre wurde eine Schilddrüsenunterfunktion auf Basis von Anzeichen und Symptomen festgestellt und | |||||
| manchmal wurde auch der Sauerstoffkonsum („basaler Grundumsatz“) zur Bestätigung gemessen. Abgesehen von der | |||||
| Einführung scheinbar „wissenschaftlicher“ Bluttests, wie z.B. der Messung des proteingebundenen Jods im Blut, | |||||
| gab es weitere Motive, eher zurückhaltend mit der Diagnose einer Schilddrüsenunterfunktion zu werden. Mit der | |||||
| Einführung einer synthetischen Form von Thyroxin war eins der Argumente, die Verkaufszahlen zu steigern, dass | |||||
| natürliches Armour-Schilddrüsenhormon (welches präzise mittels biologischer Tests standardisiert wurde) eben | |||||
| nicht sauber standardisiert war, und dass eine Überdosis fatal sein könnte. Einige Artikel, die in namhaften | |||||
| Ärzteblättern erschienen, schufen den Mythos der Gefahr von Schilddrüsenhormon und synthetisches Thyroxin wurde | |||||
| (fälschlicherweise) als präzise standardisiert beschrieben, sowie frei von jeglichen Gefahren, die mit dem | |||||
| Drüsenextrakt verbunden seien.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Between 1940 and about 1950, the estimated percentage of hypothyroid Americans went from 30% or 40% to 5%, on the | |||||
| basis of the PBI test, and it has stayed close to that lower number (many publications claim it to be only 1% or | |||||
| 2%). By the time that the measurement of PBI was shown to be only vaguely related to thyroid hormonal function, | |||||
| it had been in use long enough for a new generation of physicians to be taught to disregard the older ideas | |||||
| about diagnosing and treating hypothyroidism. They were taught to inform their patients that the traditional | |||||
| symptoms that were identified as hypothyroidism before 1950 were the result of the patients' own behavior (sloth | |||||
| and gluttony, for example, which produced fatigue, obesity, and heart disease), or that the problems were | |||||
| imaginary (women's hormonal and neurological problems, especially), or that they were simply mysterious diseases | |||||
| and defects (recurring infections, arthritis, and cancer, for example).</span> | |||||
| <span lang="de">Zwischen 1940 und 1950 sank das geschätzte Vorkommen hypothyreoter US-Amerikaner auf Basis des | |||||
| PBI-Tests (proteingebundener Jod) von 30 bis 40 % auf 5 % und blieb bislang in diesem niedrigeren Bereich. | |||||
| (Manche Publikationen behaupten, es betreffe nur 1 bis 2 %.) Bis es gezeigt wurde, dass die Bestimmung der | |||||
| PBI-Konzentration im Blut nur einen geringen Zusammenhang mit der Schilddrüsenfunktion hatte, war es schon | |||||
| ausreichend lange in Verwendung, dass einer neuen Generation von Medizinern beigebracht werden konnte, ältere | |||||
| Ideen zur Diagnostik und Behandlung einer Schilddrüsenunterfunktion schlichtweg nicht mehr zu beachten. Es wurde | |||||
| ihnen beigebracht, ihre Patienten zu informieren, dass die traditionellen Symptome, die vor 1950 als | |||||
| Erscheinungen einer Schilddrüsenunterfunktion erkannt worden wären, ihre Ursache in der Lebensweise der | |||||
| Patienten selber hätten (Faulheit und Völlerei führten beispielsweise zu Trägheit, Fettleibigkeit, und | |||||
| Herzkreislauferkrankungen), oder dass sie ihre Probleme nur einbilden würden (insbesondere die hormonellen und | |||||
| neurologischen Probleme von Frauen), oder dass diese Probleme bloß mysteriöse Krankheiten und Defekte wären | |||||
| (wiederkehrende Infekte, Arthrose, und Krebs, zum Beispiel). | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >As the newer, more direct tests became available, their meaning was defined in terms of the statistical expectation | |||||
| of hypothyroidism that had become an integral part of medical culture. To make the new TSH measurements fit the | |||||
| medical doctrine, an 8- or 10-fold variation in the hormone was defined as “normal.” With any other biological | |||||
| measurement, such as erythrocyte count, blood pressure, body weight, or serum sodium, calcium, chloride, or | |||||
| glucose, a variation of ten or 20 percent from the mean is considered to be meaningful. If the doctrine | |||||
| regarding the 5% prevalence of hypothyroidism hadn't been so firmly established, there would have been more | |||||
| interest in establishing the meaning of these great variations in TSH.</span> | |||||
| <span lang="de" | |||||
| >Die zunehmende Verfügbarkeit neuerer, direkterer Tests hat dazu geführt, dass deren Bedeutung anhand statistischer | |||||
| Erwartungen einer Schilddrüsenunterfunktion festgelegt wurde, die sich in der medizinischen Kultur schon fest | |||||
| etabliert hatte. Um die neuen TSH-Messwerte an die medizinische Lehrmeinung anzupassen, wurde eine acht- bis | |||||
| zehnfache Abweichung des Hormons als „normal“ definiert. Bei sämtlichen anderen biologischen Messungen, wie z.B. | |||||
| Erythrozyten, Blutdruck, Körpergewicht, oder Serumnatrium, -kalzium, -chlor, oder -glukose, wird eine Abweichung | |||||
| von mehr als 20 Prozent vom Mittelwert als aussagekräftig betrachtet. Wenn sich die Lehrmeinung bezüglich des 5 | |||||
| %-igen Vorkommens von Schilddrüsenunterfunktion nicht so fest etabliert hätte, hätte es mehr Interesse gegeben, | |||||
| die Bedeutung dieser großen Abweichungen des TSH-Werts zu klären.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >In recent years the “normal range” for TSH has been decreasing. In 2003, the American Association of Clinical | |||||
| Endocrinologists changed their guidelines for the normal range to 0.3 to 3.0 microIU/ml. But even though this | |||||
| lower range is less arbitrary than the older standards, it still isn't based on an understanding of the | |||||
| physiological meaning of TSH.</span> | |||||
| <span lang="de" | |||||
| >Seit einigen Jahren nehmen die Grenzwerte des normalen TSH-Bereichs ab. Die American Association of Clinical | |||||
| Endocrinologists hat 2003 ihre Richtlinien des normalen Bereichs auf 0,3 bis 3,0 microUI/mL angepasst. Obwohl | |||||
| dieser niedrigere Bereich weniger willkürlich wirkt als ältere Standards, basiert es trotzdem nicht auf einem | |||||
| Verständnis der physiologischen Bedeutung von Thyreotropin.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Over a period of several years, I never saw a person whose TSH was over 2 microIU/ml who was comfortably healthy, | |||||
| and I formed the impression that the normal, or healthy, quantity was probably something less than 1.0.</span> | |||||
| <span lang="de" | |||||
| >Über mehrere Jahre sah ich noch nie jemanden, die einen Thyreotropin-Wert über 2 microIU/mL hatte, die sich | |||||
| angenehm gesund fühlte, und ich bildete die Meinung, dass die normale bzw. gesunde Quantität wahrscheinlich eher | |||||
| einen Wert unter 1,0 beträgt.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >If a pathologically high TSH is defined as normal, its role in major diseases, such as breast cancer, mastalgia, | |||||
| MS, fibrotic diseases, and epilepsy, will simply be ignored. Even if the possibility is considered, the use of | |||||
| an irrational norm, instead of a proper comparison, such as the statistical difference between the mean TSH | |||||
| levels of cases and controls, leads to denial of an association between hypothyroidism and important diseases, | |||||
| despite evidence that indicates an association.</span> | |||||
| <span lang="de" | |||||
| >Wenn ein pathologisch hoher Thyreotropin-Wert als normal definiert wird, wird die Rolle, die er bei wichtigen | |||||
| Krankheiten spielt, wie z.B. Brustkrebs, Mastodynie (auch „Mastalgie“), multipler Sklerose, fibrotischen | |||||
| Krankheiten und Epilepsie, schlichtweg ignoriert. Selbst wenn das für möglich gehalten wird, führt die Anwendung | |||||
| einer irrationalen Norm (anstatt eines zweckmäßigen Vergleichs, wie bspw. des statistischen Abstands des | |||||
| TSH-Mittelwerts unter Fällen und Kontrollen) dazu, dass trotz Beweisen des Gegenteils geleugnet wird, dass ein | |||||
| Zusammenhang zwischen einer Schilddrüsenunterfunktion und wichtigen Krankheiten besteht.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Some critics have said that most physicians are “treating the TSH,” rather than the patient. If TSH is itself | |||||
| pathogenic, because of its pro-inflammatory actions, then that approach isn't entirely useless, even when they | |||||
| “treat the TSH” with only thyroxine, which often isn't well converted into the active triiodothyronine, T3. But | |||||
| the relief of a few symptoms in a small percentage of the population is serving to blind the medical world to | |||||
| the real possibilities of thyroid therapy.</span> | |||||
| <span lang="de" | |||||
| >Einige Kritiker haben gesagt, dass die meisten Mediziner nur „den TSH-Wert behandeln“ statt den Patienten. Insofern | |||||
| TSH aufgrund seiner entzündungsfördernden Eigenschaften an und für sich pathogen ist, ist dieser Ansatz nicht | |||||
| vollkommen unbrauchbar, selbst wenn „der TSH-Wert behandelt wird“. Aber behandelt wird er meist nur mit Thyroxin | |||||
| (T4), welches oft nicht sehr gut in seine aktive Form, Trijodthyronin (T3), verstoffwechselt werden kann, und | |||||
| die erfolgreiche Linderung einiger Symptome in einem Bruchteil der Bevölkerung sorgt dafür, dass die Welt der | |||||
| Medizin blind für die wahren Möglichkeiten der Schilddrüsenhormon-Therapie bleibt.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >TSH has direct actions on many cell types other than the thyroid, and probably contributes directly to edema | |||||
| (Wheatley and Edwards, 1983), fibrosis, and mastocytosis. If people are concerned about the effects of a TSH | |||||
| “deficiency,” then I think they have to explain the remarkable longevity of the animals lacking pituitaries in | |||||
| W.D. Denckla's experiments, or of the naturally pituitary deficient dwarf mice that lack TSH, prolactin, and | |||||
| growth hormone, but live about a year longer than normal mice (Heiman, et al., 2003). Until there is evidence | |||||
| that very low TSH is somehow harmful, there is no basis for setting a lower limit to the normal range.</span> | |||||
| <span lang="de" | |||||
| >TSH hat unmittelbare Auswirkungen auf mehrere Zelltypen und nicht nur auf das Schilddrüsengewebe. Es trägt | |||||
| wahrscheinlich direkt zu Ödem bei (Wheatley und Edwards, 1983), sowie Fibrose und Mastozytose. Wer sich Sorgen | |||||
| um die Folgen eines Thyreotropin-„Mangels“ macht, der soll meiner Meinung nach die außergewöhnliche | |||||
| Langlebigkeit von Tieren erklären, die zwar natürlicherweise über keine Hypophyse und entsprechend weder TSH, | |||||
| noch Prolaktin, noch Wachstumshormon verfügen, die aber fast ein Jahr länger als normale Mäuse leben (Heim, et | |||||
| al., 2003). Bis Beweise dafür vorliegen, dass ein sehr niedriger TSH-Wert irgendwie als gesundheitsgefährdend | |||||
| gelten soll, gibt es bislang keine Basis dafür, einen unteren Grenzwert festzulegen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Some types of thyroid cancer can usually be controlled by keeping TSH completely suppressed. Since TSH produces | |||||
| reactions in cells as different as fibroblasts and fat cells, pigment cells in the skin, mast cells and bone | |||||
| marrow cells (Whetsell, et al., 1999), it won't be surprising if it turns out to have a role in the development | |||||
| of a variety of cancers, including melanoma.</span> | |||||
| <span lang="de" | |||||
| >Einige Arten von Schilddrüsenkrebs können normalerweise unter Kontrolle gehalten werden, indem man TSH komplett | |||||
| unterdrückt. Da TSH einige Reaktionen in verschiedenen Zelltypen hervorruft, von Fibroblasten und Fettzellen, | |||||
| über Mastzellen und Pigmentzellen in der Haut bis hin zu Knochenmarkzellen (Whetsell, et al., 1999), sollte es | |||||
| keine Überraschung sein, wenn sich herausstellen sollte, dass es doch eine Rolle bei der Entwicklung einer | |||||
| Vielzahl von Krebsarten spielt, darunter Melanom.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Many things, including the liver and the senses, regulate the function of the thyroid system, and the pituitary is | |||||
| just one of the factors affecting the synthesis and secretion of the thyroid hormones.</span> | |||||
| <span lang="de" | |||||
| >Die Funktion des Schilddrüsen-Systems wird von mehreren Sachen reguliert, darunter auch die Leber und die Sinne, | |||||
| und die Hypophyse ist nur einer der Faktoren, die die Synthese und Ausschüttung der Schilddrüsenhormone | |||||
| beeinflussen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >A few people who had extremely low levels of pituitary hormones, and were told that they must take several hormone | |||||
| supplements for the rest of their life, began producing normal amounts of those hormones within a few days of | |||||
| eating more protein and fruit. Their endocrinologist described them as, effectively, having no pituitary gland. | |||||
| Extreme malnutrition in Africa has been described as creating “. . . a condition resembling hypophysectomy,” | |||||
| (Ingenbleek and Beckers, 1975) but the people I talked to in Oregon were just following what they thought were | |||||
| healthful nutritional policies, avoiding eggs and sugars, and eating soy products.</span> | |||||
| <span lang="de" | |||||
| >Einige Leute, die extrem niedrige Spiegel der Hormone der Hypophyse hatten, denen erzählt wurde, dass sie mehrere | |||||
| Hormonpräparate für den Rest ihres Lebens nehmen müssten, begannen mehr dieser Hormone spontan herzustellen, | |||||
| nachdem sie einige Tage lang mehr Obst und Eiweiß zu sich nahmen. Die Diagnose ihrer Endokrinologen war, dass | |||||
| sie effektiv über keine Hypophyse verfügten. Extreme Mangelernährung in Afrika wurde so beschrieben, dass sie | |||||
| „... eine Krankheit verursachte, die einer Hypophysektomie ähnelt,“ (Ingenbleek und Beckers, 1975) aber die | |||||
| Personen, mit denen ich in Oregon sprach, praktizierten bloß das, was sie für eine „gesunde Ernährung“ hielten, | |||||
| d.h. die Vermeidung von Eiern und Zucker, und den Verzehr von Sojaprodukten.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Occasionally, a small supplement of thyroid in addition to a good diet is needed to quickly escape from the | |||||
| stress-induced “hypophysectomized” condition.</span> | |||||
| <span lang="de" | |||||
| >Gelegentlich reicht eine kleine Zufuhr von Schilddrüsenhormon zusammen mit einer guten Ernährung, um schnell aus | |||||
| dem durch Stress verursachten „Hypophysektomie“-Zustand zu entkommen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Aging, infection, trauma, prolonged cortisol excess, somatostatin, dopamine or L-dopa, adrenaline (sometimes; | |||||
| Mannisto, et al., 1979), amphetamine, caffeine and fever can lower TSH, apart from the effect of feedback by the | |||||
| thyroid hormones, creating a situation in which TSH can appear normal or low, at the same time that there is a | |||||
| real hypothyroidism.</span> | |||||
| <span lang="de" | |||||
| >Außer der Rückkopplungswirkung der Schilddrüsenhormone können das Altwerden, eine Infektion, Trauma, ein lang | |||||
| anhaltender Cortisol-Überschuss, Somatostatin, Dopamin oder L-dopa, Adrenalin (nur manchmal; Mannisto, et al., | |||||
| 1979), Amphetamin, Koffein und Fieber den Thyreotropin-Spiegel senken, was dafür sorgt, dass Thyreotropin normal | |||||
| oder niedrig wirkt, wenn aber eine echte Schilddrüsenunterfunktion vorliegt.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >A disease or its treatment can obscure the presence of hypothyroidism. Parkinson's disease is a clear example of | |||||
| this. (Garcia-Moreno and Chacon, 2002: “... in the same way hypothyroidism can simulate Parkinson's disease, the | |||||
| latter can also conceal hypothyroidism.”)</span> | |||||
| <span lang="de" | |||||
| >Eine Krankheit oder deren Behandlung kann das Vorliegen einer Schilddrüsenunterfunktion verbergen. Hiervon ist | |||||
| Parkinson ein klares Beispiel. (Garcia-Moreno und Chacon, 2002: „... wie eine Schilddrüsenunterfunktion | |||||
| Parkinson simulieren kann, so kann letzteres auch eine Schilddrüsenunterfunktion verbergen.“)</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The stress-induced suppression of TSH and other pituitary hormones is reminiscent of the protective inhibition that | |||||
| occurs in individual nerve fibers during dangerously intense stress, and might involve such a “parabiotic” | |||||
| process in the nerves of the hypothalamus or other brain region. The relative disappearance of the pituitary | |||||
| hormones when the organism is in very good condition (for example, the suppression of ACTH and cortisol by sugar | |||||
| or pregnenolone) is parallel to the high energy quiescence of individual nerve fibers.</span> | |||||
| <span lang="de" | |||||
| >Die durch Stress ausgelöste Unterdrückung von Thyreotropin und anderen Hormonen erinnert an die schützende Hemmung, | |||||
| die bei intensivem Stress gefährlichen Ausmaßes in individuellen Nervenfasern eintritt, und mag vielleicht mit | |||||
| einem „parabiotischen“ Prozess in den Nerven des Hypothalamus oder einer anderen Hirnregion einhergehen. Dass | |||||
| die Hormone der Hypophyse mehr oder weniger verschwinden, wenn sich der Organismus in einem sehr gesunden | |||||
| Zustand befindet (z.B. die Unterdrückung von ACTH und Cortisol durch Zucker oder Pregnenolon), ähnelt der | |||||
| hochenergetischen Stilllegung individueller Nervenfasern.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >These associations between energy state and cellular activity can be used for evaluating the thyroid state, as in | |||||
| measuring nerve and muscle reaction times and relaxation rates. For example, relaxation which is retarded, | |||||
| because of slow restoration of the energy needed for cellular “repolarization,” is the basis for the traditional | |||||
| use of the Achilles tendon reflex relaxation test for diagnosing hypothyroidism. The speed of relaxation of the | |||||
| heart muscle also indicates thyroid status (Mohr-Kahaly, et al., 1996).</span> | |||||
| <span lang="de" | |||||
| >Diese Zusammenhänge zwischen dem energetischen Zustand der Zelle und deren Aktivität können benutzt werden, um die | |||||
| Schilddrüsenfunktion zu evaluieren. Hierzu dienen die Reaktionszeiten sowie Entspannungszeiten der Muskeln und | |||||
| Nerven. Eine verzögerte Entspannung, die aufgrund einer langsamen Wiederherstellung der für die | |||||
| „Repolarisierung“ benötigten zellulären Energie zustande kommt, schafft die Basis der traditionellen Anwendung | |||||
| des Achillessehnenreflex-Tests zur Diagnose einer Schilddrüsenunterfunktion.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Stress, besides suppressing the TSH, acts in other ways to suppress the real thyroid function. Cortisol, for | |||||
| example, inhibits the conversion of T4 to T3, which is responsible for the respiratory production of energy and | |||||
| carbon dioxide. Adrenaline, besides leading to increased production of cortisol, is lipolytic, releasing the | |||||
| fatty acids which, if they are polyunsaturated, inhibit the production and transport of thyroid hormone, and | |||||
| also interfere directly with the respiratory functions of the mitochondria. Adrenaline decreases the conversion | |||||
| to T4 to T3, and increases the formation of the antagonistic reverse T3 (Nauman, et al., 1980, 1984).</span> | |||||
| <span lang="de" | |||||
| >Stress kann über deren Unterdrückung des TSH-Werts hinaus auf mehrere Arten und Weisen die effektive | |||||
| Schilddrüsenfunktion unterdrücken. Cortisol hemmt zum Beispiel die Konvertierung von T4 in T3, welches für die | |||||
| respiratorische Herstellung von Energie und Kohlenstoffdioxid verantwortlich ist. Adrenalin hat abgesehen von | |||||
| seiner Erhöhung des Cortisol-Spiegels eine lipolytische Wirkung, was zur Freisetzung von Fettsäuren führt, und, | |||||
| falls die mehrfach ungesättigt sind, hemmen sie wiederum auch die Herstellung und das Transport der | |||||
| Schilddrüsenhormone. Sie stören zudem direkt die respiratorische Funktion der Mitochondrien. Adrenalin senkt die | |||||
| Konvertierung von T4 in T3, und erhöht die Bildung des antagonistischen Hormons Reverse-T3 (Nauman, et al., | |||||
| 1980, 1984).</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >During the night, at the time adrenaline and free fatty acids are at their highest, TSH usually reaches its peak. | |||||
| TSH itself can produce lipolysis, raising the level of circulating free fatty acids. This suggests that a high | |||||
| level of TSH could sometimes contribute to functional hypothyroidism, because of the antimetabolic effects of | |||||
| the unsaturated fatty acids.</span> | |||||
| <span lang="de" | |||||
| >Adrenalin und freie Fettsäuren erreichen nachts ihren Höhepunkt. TSH erreicht hier auch meistens seinen höchsten | |||||
| Wert. Es kann auch TSH selbst Lipolyse bewirken, was den Spiegel der zirkulierenden freien Fettsäuren erhöht. | |||||
| Dies weist darauf hin, dass ein hoher TSH-Wert manchmal aufgrund der antimetabolischen Wirkung der mehrfach | |||||
| ungesättigten Fettsäuren zu einer funktionalen Schilddrüsenunterfunktion führen könnte</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >These are the basic reasons for thinking that the TSH tests should be given only moderate weight in interpreting | |||||
| thyroid function.</span> | |||||
| <span lang="de" | |||||
| >Das sind also die wesentlichen Gründe zu denken, dass die TSH-Tests nur bedingt zur Interpretierung der | |||||
| Schilddrüsenfunktion beitragen sollten.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The metabolic rate is very closely related to thyroid hormone function, but defining it and measuring it have to be | |||||
| done with awareness of its complexity.</span> | |||||
| <span lang="de" | |||||
| >Der Grundumsatz steht in sehr engem Zusammenhang mit der Funktion der Schilddrüsenhormone, aber sie ist schließlich | |||||
| in Anbetracht ihrer Komplexität zu definieren und messen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The basal metabolic rate that was commonly used in the 1930s for diagnosing thyroid disorders was usually a | |||||
| measurement of the rate of oxygen consumption, made while lying quietly early in the morning without having | |||||
| eaten anything for several hours. When carbon dioxide production can be measured at the same time as oxygen | |||||
| consumption, it's possible to estimate the proportion of energy that is being derived from glucose, rather than | |||||
| fat or protein, since oxidation of glucose produces more carbon dioxide than oxidation of fat does. Glucose | |||||
| oxidation is efficient, and suggests a state of low stress.</span> | |||||
| <span lang="de" | |||||
| >Der basale Grundumsatz, die häufig in den 1930er Jahren zur Diagnose einer Schilddrüsenstörung verwendet wurde, war | |||||
| normalerweise eine Messung der Sauerstoffkonsumrate, die durchgeführt wurde, während der Patient morgens still | |||||
| im Bett im gefasteten Zustand lag. Eine gleichzeitige Messung der Kohlenstoffdioxidproduktion sowie des | |||||
| Sauerstoffkonsums ermöglicht es, den Anteil der Energie zu schätzen, der durch Glukose statt Fett oder Eiweiß | |||||
| gewonnen wird, da die Oxidierung von Glukose mehr Kohlenstoffdioxid gewinnt als von Fett. Die Oxidierung von | |||||
| Glukose ist effizient und weist auf einen niedrigen Stresszustand hin.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The very high adrenaline that sometimes occurs in hypothyroidism will increase the metabolic rate in several ways, | |||||
| but it tends to increase the oxidation of fat. If the production of carbon dioxide is measured, the | |||||
| adrenaline/stress component of metabolism will be minimized in the measurement. When polyunsaturated fats are | |||||
| mobilized, their spontaneous peroxidation consumes some oxygen, without producing any usable energy or carbon | |||||
| dioxide, so this is another reason that the production of carbon dioxide is a very good indicator of thyroid | |||||
| hormone activity. The measurement of oxygen consumption was usually done for two minutes, and carbon dioxide | |||||
| production could be accurately measured in a similarly short time. Even a measurement of the percentage of | |||||
| carbon dioxide at the end of a single breath can give an indication of the stress-free, thyroid hormone | |||||
| stimulated rate of metabolism (it should approach five or six percent of the expired air).</span> | |||||
| <span lang="de" | |||||
| >Der sehr hohe Adrenalinspiegel, der manchmal mit einer Schilddrüsenunterfunktion einhergeht, erhöht auf | |||||
| verschiedene Art und Weise den Grundumsatz, aber es begünstigt eher Fettoxidierung. Wenn die Produktion von | |||||
| Kohlenstoffdioxid gemessen wird, wird die Adrenalin- bzw. Stress-Komponente des Stoffwechsels in der Messung | |||||
| minimiert. Wenn mehrfach ungesättigte Fettsäuren freigesetzt werden, konsumiert deren spontane Peroxidierung | |||||
| etwas Sauerstoff, und produziert dabei weder verwendbare Energie noch Kohlenstoffdioxid. Das ist also noch ein | |||||
| weiterer Grund, dass die Produktion von Kohlenstoffdioxid ein sehr geeigneter Indikator der Aktivität der | |||||
| Schilddrüsenhormone ist. Die Messung des Sauerstoffkonsums wurde meistens zwei Minuten lang durchgeführt, und | |||||
| die Kohlenstoffdioxidproduktion konnte ähnlich schnell durchgeführt werden. Selbst die Messung des Anteils von | |||||
| Kohlenstoffdioxid nach einem einzigen Atemzug kann auf die stressfreie, durch Schilddrüsenhormon stimulierte | |||||
| Stoffwechselrate hinweisen (dies soll fünf oder sechs Prozent der ausgeatmeten Luft betragen).</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Increasingly in the last several years, people who have many of the standard symptoms of hypothyroidism have told | |||||
| me that they are hyperthyroid, and that they have to decide whether to have surgery or radiation to destroy | |||||
| their thyroid gland. They have told me that their symptoms of “hyperthyroidism,” according to their physicians, | |||||
| were fatigue, weakness, irritability, poor memory, and insomnia.</span> | |||||
| <span lang="de" | |||||
| >Es haben mir in den letzten Jahren zunehmend mehr Leute erzählt, die mehrere der klassischen Symptome einer | |||||
| Schilddrüsenunterfunktion hatten, dass sie eine Überfunktion hätten, und dass sie zwischen Bestrahlung und einer | |||||
| Operation entscheiden mussten, um ihre Schilddrüse zu zerstören. Sie erzählten mir, dass die Symptome ihrer | |||||
| Schilddrüsen<strong>über</strong>funktion laut ihren Ärzten Müdigkeit, Schwäche, Reizbarkeit, Gedächtnisprobleme | |||||
| und Schlaflosigkeit wären.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >They didn't eat very much. They didn't sweat noticeably, and they drank a moderate amount of fluids. Their pulse | |||||
| rates and body temperature were normal, or a little low.</span> | |||||
| <span lang="de" | |||||
| >Sie aßen nicht viel. Viel schwitzten sie auch nicht und sie tranken mäßig Flüssigkeit. Ihre Puls- und | |||||
| Körpertemperaturmessungen waren normal, oder etwas niedrig.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Simply on the basis of some laboratory tests, they were going to have their thyroid gland destroyed. But on the | |||||
| basis of all of the traditional ways of judging thyroid function, they were hypothyroid.</span> | |||||
| <span lang="de">Alleine auf Basis einiger Laborwerte hätten sie ihre Schilddrüsen zerstören lassen. Aber auf Basis | |||||
| aller traditionellen Mittel, die Schilddrüsenfunktion zu beurteilen, hatten sie eine Unterfunktion. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Broda Barnes, who worked mostly in Fort Collins, Colorado, argued that the body temperature, measured before | |||||
| getting out of bed in the morning, was the best basis for diagnosing thyroid function.</span> | |||||
| <span lang="de" | |||||
| >Broda Barnes, der hauptsächlich in Fort Collins, Colorado arbeitete, argumentierte, dass die Körpertemperatur, wenn | |||||
| sie vor dem Aufstehen in der Früh gemessen wird, die beste Basis zur Diagnose einer Schilddrüsenunterfunktion | |||||
| ist.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Fort Collins, at a high altitude, has a cool climate most of the year. The altitude itself helps the thyroid to | |||||
| function normally. For example, one study (Savourey, et al., 1998) showed an 18% increase in T3 at a high | |||||
| altitude, and mitochondria become more numerous and are more efficient at preventing lactic acid production, | |||||
| capillary leakiness, etc.</span> | |||||
| <span lang="de">Fort Collins, eine sehr hoch gelegene Stadt, hat rund ums Jahr meistens ein kühles Klima. Die hohe | |||||
| Lage begünstigt an und für sich eine normale Schilddrüsenfunktion. Eine Studie (Savourey, et al., 1998) | |||||
| vermerkte zum Beispiel einen 18 %-igen Anstieg des T3-Spiegels in großer Höhe. Mitochondrien vervielfachen sich | |||||
| und sind darin effizienter, die Bildung von Laktat, die Durchlässigkeit der Kapillaren, usw. zu hemmen, | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >In Eugene during a hot and humid summer, I saw several obviously hypothyroid people whose temperature seemed | |||||
| perfectly normal, euthyroid by Barnes' standards. But I noticed that their pulse rates were, in several cases, | |||||
| very low. It takes very little metabolic energy to keep the body at 98.6 degrees when the air temperature is in | |||||
| the nineties. In cooler weather, I began asking people whether they used electric blankets, and ignored their | |||||
| temperature measurements if they did.</span> | |||||
| <span lang="de" | |||||
| >Während eines heißen und schwülen Sommers in Eugene sah ich mehrere offensichtlich hypothyreote Menschen, deren | |||||
| Temperaturmessungen ganz normal wirkten - laut Barnes euthyreot. Aber ich bemerkte, dass ihre Pulsraten in | |||||
| vielen Fällen sehr niedrig waren. Es wird sehr wenig metabolische Energie benötigt, um die Körpertemperatur bei | |||||
| 98,6° F (36,6° C) Grad beizubehalten, wenn die Außentemperatur bei über 90° F (Mitte 30° C) liegt. Bei kühlerem | |||||
| Wetter begann ich, Leute zu fragen, ob sie Heizdecken benutzen, und, wenn dem so war, ignorierte ich ihre | |||||
| Temperaturmessungen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The combination of pulse rate and temperature is much better than either one alone. I happened to see two people | |||||
| whose resting pulse rates were chronically extremely high, despite their hypothyroid symptoms. When they took a | |||||
| thyroid supplement, their pulse rates came down to normal. (Healthy and intelligent groups of people have been | |||||
| found to have an average resting pulse rate of 85/minute, while less healthy groups average close to | |||||
| 70/minute.)</span> | |||||
| <span lang="de" | |||||
| >Die Kombination von Puls und Temperatur ist viel sinnvoller als nur eines der beiden. Ich sah zufällig zwei Leute, | |||||
| die trotz Symptomen einer Schilddrüsenunterfunktion einen chronisch sehr hohen Puls hatten. Durch Zufuhr eines | |||||
| Schilddrüsenhormonpräparats sanken ihre Pulsraten wieder auf normale Werte. (Gesunde und intelligente Gruppen | |||||
| haben nachweislich einen Durchschnittspuls von 85 Schläge pro Minute, während weniger gesunde Gruppen eher einen | |||||
| Puls von 70 haben.)</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >The speed of the pulse is partly determined by adrenaline, and many hypothyroid people compensate with very high | |||||
| adrenaline production. Knowing that hypothyroid people are susceptible to hypoglycemia, and that hypoglycemia | |||||
| increases adrenaline, I found that many people had normal (and sometimes faster than average) pulse rates when | |||||
| they woke up in the morning, and when they got hungry. Salt, which helps to maintain blood sugar, also tends to | |||||
| lower adrenalin, and hypothyroid people often lose salt too easily in their urine and sweat. Measuring the pulse | |||||
| rate before and after breakfast, and in the afternoon, can give a good impression of the variations in | |||||
| adrenalin. (The blood pressure, too, will show the effects of adrenaline in hypothyroid people. Hypothyroidism | |||||
| is a major cause of hypertension.)</span> | |||||
| <span lang="de" | |||||
| >Die Pulsrate wird teilweise durch Adrenalin bestimmt, und viele Menschen kompensieren ihre | |||||
| Schilddrüsenunterfunktion mit einer hohen Adrenalinproduktion. Angesichts dessen, dass mehrere hypothyreote | |||||
| Menschen zu Unterzuckerung tendieren, und dass eine Unterzuckerung Adrenalin steigert, merkte ich, dass viele | |||||
| Leute einen normalen (und manchmal überdurchschnittlich schnellen) Puls hatten, sowohl in der Früh als auch wenn | |||||
| sie Hunger bekamen. Salz, welches zum Erhalt eines normalen Blutzuckerspiegels beiträgt, senkt tendenziell auch | |||||
| Adrenalin, und hypothyreote Menschen verlieren Salz sehr schnell im Urin und im Schweiß. Um einen besseren | |||||
| Eindruck der Variation im Adrenalinspiegel zu bekommen, kann man den Puls vor und nach dem Frühstück sowie am | |||||
| Nachmittag messen. (Der Blutdruck zeigt zudem auch die Wirkung von Adrenalin in Menschen mit einer | |||||
| Schilddrüsenunterfunktion. Eine Schilddrüsenunterfunktion ist eine häufige Ursache des Bluthochdrucks.)</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >But hypoglycemia also tends to decrease the conversion of T4 to T3, so heat production often decreases when a | |||||
| person is hungry. First, their fingers, toes, and nose will get cold, because adrenalin, or adrenergic | |||||
| sympathetic nervous activity, will increase to keep the brain and heart at a normal temperature, by reducing | |||||
| circulation to the skin and extremities. Despite the temperature-regulating effect of adrenalin, the reduced | |||||
| heat production resulting from decreased T3 will make a person susceptible to hypothermia if the environment is | |||||
| cool.</span> | |||||
| <span lang="de" | |||||
| >Aber Unterzuckerung senkt tendenziell auch die Konvertierung von T4 in T3, was dazu führt, dass die Wärmeproduktion | |||||
| auch sinkt, wenn man Hunger bekommt. Es werden zuerst die Finger, dann die Zehe und schließlich die Nase kalt, | |||||
| weil Adrenalin bzw. die adrenergische Aktivität des Sympathikus steigt, um die Temperatur des Gehirns und des | |||||
| Herzes normal zu halten, indem die Durchblutung der Haut und der Extremitäten gesenkt wird. Trotz der | |||||
| temperatur-regulierenden Wirkung von Adrenalin wird man aufgrund der geringeren Wärmeproduktion durch weniger T3 | |||||
| anfälliger für eine Unterkühlung, falls die Umgebung auch kühl ist.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Since food, especially carbohydrate and protein, will increase blood sugar and T3 production, eating is | |||||
| “thermogenic,” and the oral (or eardrum) temperature is likely to rise after eating.</span> | |||||
| <span lang="de" | |||||
| >Da Essen, und insbesondere Kohlenhydrate und Eiweiß, den Blutzuckerspiegel und T3-Produktion steigern, ist der | |||||
| Verzehr von Essen an und für sich „thermogen“, und die Oral- bzw. Trommelfelltemperatur kann nach einer Mahlzeit | |||||
| steigen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Blood sugar falls at night, and the body relies on the glucose stored in the liver as glycogen for energy, and | |||||
| hypothyroid people store very little sugar. As a result, adrenalin and cortisol begin to rise almost as soon as | |||||
| a person goes to bed, and in hypothyroid people, they rise very high, with the adrenalin usually peaking around | |||||
| 1 or 2 A.M., and the cortisol peaking around dawn; the high cortisol raises blood sugar as morning approaches, | |||||
| and allows adrenalin to decline. Some people wake up during the adrenalin peak with a pounding heart, and have | |||||
| trouble getting back to sleep unless they eat something.</span> | |||||
| <span lang="de" | |||||
| >Der Blutzuckerspiegel sinkt in der Nacht, und der Körper ist auf den in der Leber als Glykogen gespeicherten Zucker | |||||
| als Energiequelle verlassen, und Menschen mit einer Schilddrüsenunterfunktion speichern sehr wenig Zucker in | |||||
| ihrer Leber. Dementsprechend fangen Adrenalin und Cortisol fast unmittelbar nach dem Schlafengehen an zu | |||||
| steigen. Bei Menschen mit einer Schilddrüsenunterfunktion steigen sie sehr hoch - das Adrenalin erreicht um | |||||
| ungefähr ein oder zwei Uhr seinen Höhepunkt und Cortisol ungefähr bei der Dämmerung. Das hohe Cortisol steigert | |||||
| den Blutzuckerspiegel, wenn der Morgen naht. Manche Leute wachen bei dem Adrenalinhöhepunkt mit starkem | |||||
| Herzrasen auf, und es fällt ihnen schwer, wieder einzuschlafen, ohne etwas zu essen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >If the night-time stress is very high, the adrenalin will still be high until breakfast, increasing both | |||||
| temperature and pulse rate. The cortisol stimulates the breakdown of muscle tissue and its conversion to energy, | |||||
| so it is thermogenic, for some of the same reasons that food is thermogenic.</span> | |||||
| <span lang="de" | |||||
| >Bei hohem Stress in der Nacht, bleibt das Adrenalin auch bis zur ersten Mahlzeit auch hoch, was für eine höhere | |||||
| Temperatur sowie einen höheren Puls sorgt. Cortisol stimuliert den Muskelabbau und die Konvertierung dessen in | |||||
| Energie, und ist also thermogen - dies ähnelt der thermogenen Wirkung von Essen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >After eating breakfast, the cortisol (and adrenalin, if it stayed high despite the increased cortisol) will start | |||||
| returning to a more normal, lower level, as the blood sugar is sustained by food, instead of by the stress | |||||
| hormones. In some hypothyroid people, this is a good time to measure the temperature and pulse rate. In a normal | |||||
| person, both temperature and pulse rate rise after breakfast, but in very hypothyroid people either, or both, | |||||
| might fall.</span> | |||||
| <span lang="de" | |||||
| >Nach dem Frühstück fängt das Cortisol (und das Adrenalin, falls es trotz hohem Cortisol hoch blieb,) an, auf eine | |||||
| normales, niedrigeres Niveau zu sinken, während der Blutzuckerspiegel von der zugeführten Nahrung statt von den | |||||
| Stresshormonen aufrechterhalten wird. Bei einigen hypothyreoten Personen ist das ein guter Zeitpunkt, die | |||||
| Temperatur und den Puls zu messen. Bei einer normalen Person steigt nach dem Frühstück sowohl die Temperatur als | |||||
| auch der Puls, aber bei sehr hypothyreoten Personen kann entweder das eine, das andere oder sogar beides | |||||
| sinken.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Some hypothyroid people have a very slow pulse, apparently because they aren't compensating with a large production | |||||
| of adrenalin. When they eat, the liver's increased production of T3 is likely to increase both their temperature | |||||
| and their pulse rate.</span> | |||||
| <span lang="de" | |||||
| >Einige hypothyreote Personen haben einen sehr niedrigen Puls, scheinbar aufgrund dessen, dass sie nicht mithilfe | |||||
| einer hohen Adrenalinproduktion kompensieren. Wenn sie essen, sorgt sehr wahrscheinlich die erhöhte Produktion | |||||
| von T3 in der Leber dafür, dass sowohl die Temperatur als auch der Puls steigt.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >By watching the temperature and pulse rate at different times of day, especially before and after meals, it's | |||||
| possible to separate some of the effects of stress from the thyroid-dependent, relatively “basal” metabolic | |||||
| rate. When beginning to take a thyroid supplement, it's important to keep a chart of these measurements for at | |||||
| least two weeks, since that's roughly the half-life of thyroxine in the body. When the body has accumulated a | |||||
| steady level of the hormones, and begun to function more fully, the factors such as adrenaline that have been | |||||
| chronically distorted to compensate for hypothyroidism will have begun to normalize, and the early effects of | |||||
| the supplementary thyroid will in many cases seem to disappear, with heart rate and temperature declining. The | |||||
| daily dose of thyroid often has to be increased several times, as the state of stress and the adrenaline and | |||||
| cortisol production decrease.</span> | |||||
| <span lang="de">Wenn man die Temperatur und den Puls im Laufe eines Tages zu verschiedenen Zeitpunkten misst, vor | |||||
| allem vor und nach einer Mahlzeit, ist es möglich, einige der Wirkungen der Stresshormone von dem | |||||
| schilddrüsenhormon-abhängigen, relativ „basalen“ Grundumsatz zu unterscheiden. Am Anfang einer Therapie mit | |||||
| Schilddrüsenhormon ist es wichtig, die Messungen mindestens zwei Wochen aufzuschreiben und ggf. als Kurve | |||||
| darzustellen, da die Halbwertszeit von Thyroxin (T4) im Körper ungefähr zwei Wochen beträgt. Wenn sich einmal | |||||
| ein stabiler Spiegel der Hormone im Körper etabliert hat, werden sich jene Faktoren normalisieren, die zwecks | |||||
| Kompensierung der Unterfunktion chronisch verzerrt geblieben waren, und die frühen Auswirkungen der Zufuhr von | |||||
| Schilddrüsenhormon verschwinden in den meisten Fällen - es sinken dabei der Puls und die Temperatur. Die | |||||
| Tagesdosis von Schilddrüsenhormon muss oft mehrere Male erhöht werden, während der Stresszustand und die | |||||
| Produktion von Adrenalin und Cortisol sinken. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Counting calories achieves approximately the same thing as measuring oxygen consumption, and is something that will | |||||
| allow people to evaluate the various thyroid tests they may be given by their doctor. Although food intake and | |||||
| metabolic rate vary from day to day, an approximate calorie count for several days can often make it clear that | |||||
| a diagnosis of hyperthyroidism is mistaken. If a person is eating only about 1800 calories per day, and has a | |||||
| steady and normal body weight, any “hyperthyroidism” is strictly metaphysical, or as they say, “clinical.”</span | |||||
| > | |||||
| <span lang="de" | |||||
| >Das Zählen von Kalorien erreicht annähernd das, was durch die Messung des Sauerstoffkonsums erreicht werden soll, | |||||
| und ermöglicht es einem, die diversen Schilddrüsentests zu evaluieren, die man von seinem Arzt bekommen könnte. | |||||
| Obwohl die Nahrungszufuhr und der Grundumsatz von Tag zu Tag variieren mag, kann ein geschätzter Kalorienkonsum | |||||
| über einige Tage es einem klarstellen, dass eine Schilddrüsen<strong>über</strong>funktion eine Fehldiagnose | |||||
| ist. Sollte eine Person nur um die 1800 Kalorien am Tag konsumieren, und dabei einen normales, stabiles | |||||
| Körpergewicht beibehalten, sind jegliche Diagnosen einer „Überfunktion“ schlichtweg metaphysisch, bzw. | |||||
| sogenannte „klinische“ Diagnosen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >When the humidity and temperature are normal, a person evaporates about a liter of water for every 1000 calories | |||||
| metabolized. Eating 2000 calories per day, a normal person will take in about four liters of liquid, and form | |||||
| about two liters of urine. A hyperthyroid person will invisibly lose several quarts of water in a day, and a | |||||
| hypothyroid person may evaporate a quart or less.</span> | |||||
| <span lang="de">Wenn die Luftfeuchtigkeit und Temperatur normal sind, verdampft eine Person ungefähr einen Liter | |||||
| Wasser pro 1000 verstoffwechselten Kalorien. Durch einen Konsum von 2000 Kalorien am Tag, führt sich eine | |||||
| normale Person ungefähr vier Liter Wasser zu sich zu und bildet ungefähr zwei Liter Urin. Jemand mit einer | |||||
| Schilddrüsen<strong>über</strong>funktion verliert unsichtbar mehrere Liter Wasser pro Tag, und jemand mit einer | |||||
| Unterfunktion könnte hingegen lediglich einen Liter verdampfen, oder sogar weniger. | |||||
| </span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >When cells, because of a low metabolic rate, don't easily return to their thoroughly energized state after they | |||||
| have been stimulated, they tend to take up water, or, in the case of blood vessels, to become excessively | |||||
| permeable. Fatigued muscles swell noticeably, and chronically fatigued nerves can swell enough to cause them to | |||||
| be compressed by the surrounding connective tissues. The energy and hydration state of cells can be detected in | |||||
| various ways, including magnetic resonance, and electrical impedance, but functional tests are easy and | |||||
| practical.</span> | |||||
| <span lang="de" | |||||
| >Wenn die Zellen aufgrund eines niedrigen Grundumsatzes nicht besonders einfach zu ihrem völlig energiereichen | |||||
| Zustand zurückkehren, nachdem sie gereizt wurden, nehmen sie tendenziell Wasser auf, oder sie werden wie im | |||||
| Falle der Blutgefäße exzessiv durchlässig. Ermüdete Muskeln schwellen merklich an, und chronisch ermüdete Nerven | |||||
| können so viel anschwellen, dass sie von dem umliegenden Bindegewebe zusammengedrückt werden können.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >With suitable measuring instruments, the effects of hypothyroidism can be seen as slowed conduction along nerves, | |||||
| and slowed recovery and readiness for new responses. Slow reaction time is associated with slowed memory, | |||||
| perception, and other mental processes. Some of these nervous deficits can be remedied slightly just by raising | |||||
| the core temperature and providing suitable nutrients, but the active thyroid hormone, T3 is mainly responsible | |||||
| for maintaining the temperature, the nutrients, and the intracellular respiratory energy production.</span> | |||||
| <span lang="de" | |||||
| >Mittels angemessener Messgeräte lassen sich die Auswirkungen einer Schilddrüsenunterfunktion durch eine langsame | |||||
| Konduktivität entlang der Nerven beobachten und durch verlangsamte Erholung und Bereitschaft für neue Antworten | |||||
| und Reaktionen. Eine verlangsamte Reaktionszeit geht mit anderen langsamen Prozessen einher, wie zum Beispiel | |||||
| Gedächtnis, Wahrnehmung und anderen geistigen Prozessen. Ein mildes Entgegenwirken dieser Nervendefizite ist | |||||
| durch eine Erhöhung der Kerntemperatur sowie die Zufuhr ausgewählter Nährstoffe möglich, aber das aktive | |||||
| Schilddrüsenhormon, T3, ist hauptverantwortlich dafür, die Temperatur, die benötigten Nährstoffe und die | |||||
| intrazelluläre Energieproduktion aufrechtzuerhalten.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >In nerves, as in other cells, the ability to rest and repair themselves increases with the proper level of thyroid | |||||
| hormone. In some cells, the energized stability produced by the thyroid hormones prevents inflammation or an | |||||
| immunological hyperactivity. In the 1950s, shortly after it was identified as a distinct substance, T3 was found | |||||
| to be anti-inflammatory, and both T4 and T3 have a variety of anti-inflammatory actions, besides the suppression | |||||
| of the pro-inflammatory TSH.</span> | |||||
| <span lang="de" | |||||
| >In Nerven, wie in anderen Zellen, steigt das Vermögen, sich zu reparieren und zu erholen, mit dem richtigen | |||||
| Schilddrüsenhormonspiegel. In einigen Zellen hemmt die durch das Schilddrüsenhormon hervorgerufene energetische | |||||
| Stabilisierung Entzündungen bzw. immunologische Überaktivität. In den 1950er Jahren wurde T3, kurz nachdem es | |||||
| als eigene Substanz identifiziert wurde, als entzündungshemmend erkannt, und sowohl T4 als auch T3 haben | |||||
| abgesehen von ihrer Hemmung des entzündungsfördernden TSH mehrere andere entzündungshemmende Wirkungen.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Because the actions of T3 can be inhibited by many factors, including polyunsaturated fatty acids, reverse T3, and | |||||
| excess thyroxine, the absolute level of T3 can't be used by itself for diagnosis. “Free T3” or “free T4” is a | |||||
| laboratory concept, and the biological activity of T3 doesn't necessarily correspond to its “freedom” in the | |||||
| test. T3 bound to its transport proteins can be demonstrated to enter cells, mitochondria, and nuclei. | |||||
| Transthyretin, which carries both vitamin A and thyroid hormones, is sharply decreased by stress, and should | |||||
| probably be regularly measured as part of the thyroid examination.</span> | |||||
| <span lang="de" | |||||
| >Da die Wirkungen von T3 durch mehrere Faktoren gehemmt werden können, wie beispielsweise die mehrfach ungesättigten | |||||
| Fettsäuren, Reverse-T3, oder exzessive Thyroxin-Werte, ist der absolute T3-Spiegel alleine betrachtet für eine | |||||
| Diagnose nicht angemessenen. „Freies T3“ bzw. „freies T4“ sind Konzepte aus dem Labor, und die biologische | |||||
| Aktivität von T3 stimmt nicht zwingend mit seiner „Freiheit“ in einem Labortest überein. Es kann demonstriert | |||||
| werden, dass an seinen Transportproteinen gebundenes T3 in Zellen, Mitochondrien und Zellkerne eindringen kann. | |||||
| Transthyretin, welches sowohl Vitamin A als auch die Schilddrüsenhormone an sich trägt, wird durch Stress | |||||
| dramatisch gesenkt, und dessen Messung sollte wahrscheinlich regelmäßig als Teil einer Untersuchung der | |||||
| Schilddrüsenfunktion unternommen werden.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >When T3 is metabolically active, lactic acid won't be produced unnecessarily, so the measurement of lactate in the | |||||
| blood is a useful test for interpreting thyroid function. Cholesterol is used rapidly under the influence of T3, | |||||
| and ever since the 1930s it has been clear that serum cholesterol rises in hypothyroidism, and is very useful | |||||
| diagnostically. Sodium, magnesium, calcium, potassium, creatinine, albumin, glucose, and other components of the | |||||
| serum are regulated by the thyroid hormones, and can be used along with the various functional tests for | |||||
| evaluating thyroid function.</span> | |||||
| <span lang="de" | |||||
| >Wenn T3 metabolisch aktiv ist, wird Milchsäure nicht unnötigerweise produziert und die Messung von Milchsäure bzw. | |||||
| Laktat im Blut ist also ein nützlicher Test, um die Schilddrüsenfunktion zu kontrollieren. Cholesterin wird | |||||
| relativ rapide unter Einfluss von T3 verstoffwechselt und schon seit den 1930er Jahren ist es klar, dass das | |||||
| Serumcholesterin bei einer Schilddrüsenunterfunktion steigt, und das kann eine gute diagnostische Aussagekraft | |||||
| haben. Natrium, Magnesium, Kalzium, Albumin, Glukose und andere Serumkomponenten werden durch die | |||||
| Schilddrüsenhormone reguliert und können zusammen mit diversen funktionalen Tests zur Evaluierung der | |||||
| Schilddrüsenfunktion zur Hand genommen werden.</span> | |||||
| </p> | |||||
| <p> | |||||
| <span lang="en" | |||||
| >Stereotypes are important. When a very thin person with high blood pressure visits a doctor, hypothyroidism isn't | |||||
| likely to be considered; even high TSH and very low T4 and T3 are likely to be ignored, because of the | |||||
| stereotypes. (And if those tests were in the healthy range, the person would be at risk for the “hyperthyroid” | |||||
| diagnosis.) But remembering some of the common adaptive reactions to a thyroid deficiency, the catabolic effects | |||||
| of high cortisol and the circulatory disturbance caused by high adrenaline should lead to doing some of the | |||||
| appropriate tests, instead of treating the person's hypertension and “under nourished” condition.</span> | |||||
| <span lang="de" | |||||
| >Stereotypen sind wichtig. Wenn eine dünne Person mit hohem Blutdruck zum Arzt geht, wird eine Schilddrüsenfunktion | |||||
| sehr unwahrscheinlich in Betracht gezogen; selbst ein hoher TSH-Wert und sehr niedrige T4- und T3-Werte werden | |||||
| wohl aufgrund der Stereotypen ignoriert. (Und falls diese Tests im gesunden Bereich liegen, besteht dann das | |||||
| Risiko der Diagnose einer Schilddrüsen<strong>über</strong>funktion.) Aber wenn man sich an einige der häufigen | |||||
| adaptiven Reaktionen auf eine schwache Schilddrüse erinnert, sollten die katabolischen Effekte eines hohen | |||||
| Cortisol-Spiegels und der adrenalin-bedingten Kreislaufstörungen dazu führen, einige der angemessenen Tests | |||||
| durchzuführen, anstatt den Bluthochdruck und die „Mangelernährung“ der Person zu behandeln.</span> | |||||
| </p> | |||||
| <p class="notranslate"> | |||||
| <a href="https://raypeat.com/articles/articles/hypothyroidism.shtml">Originalartikel und Quellenverzeichnis</a> | |||||
| </p> | |||||
| @@ -0,0 +1,557 @@ | |||||
| # TSH, temperature, pulse rate, and other indicators in hypothyroidism | |||||
| # TSH, Temperatur, Puls, und andere Indikatoren bei einer Schilddrüsenunterfunktion | |||||
| - Each of the indicators of thyroid function can be useful, but has to be interpreted in relation to the physiological | |||||
| state. | |||||
| - Jeder einzelne der Indikatoren der Schilddrüsenfunktion kann zwar nützlich sein, aber sie müssen in Zusammenhang mit | |||||
| dem gesamten physiologischen Grundzustand betrachtet werden. | |||||
| - Increasingly, TSH (the pituitary thyroid stimulating hormone) has been treated as if it meant something independently; | |||||
| however, it can be brought down into the normal range, or lower, by substances other than the thyroid hormones. | |||||
| - TSH (oder Thyreotropin, das Thyreoidea-stimulierendes oder Schilddrüsen-stimulierendes Hormon der Hypophyse) wird | |||||
| zunehmend so behandelt, als hätte es isoliert etwas zu bedeuten; allerdings kann es durch andere Substanzen als die | |||||
| Schilddrüsenhormone bis in den normalen Bereich oder gar tiefer gesenkt werden. | |||||
| - “Basal” body temperature is influenced by many things besides thyroid. The resting heart rate helps to interpret the | |||||
| temperature. In a cool environment, the temperature of the extremities is sometimes a better indicator than the oral | |||||
| or eardrum temperature. | |||||
| - Es sind nämlich nicht nur die Schilddrüsenhormone, die die „basale“ Körpertemperatur beeinflussen können. Der Ruhepuls | |||||
| kann z.B. als Hilfsmittel dienen, die Temperatur zu interpretieren. In einer kühlen Umgebung ist die Temperatur der | |||||
| Extremitäten ein besserer Indikator als die Oral- oder Trommelfelltemperatur. | |||||
| - The “basal” metabolic rate, especially if the rate of carbon dioxide production is measured, is very useful. The | |||||
| amount of water and calories disposed of in a day can give a rough idea of the metabolic rate. | |||||
| - Der „basale“ Grundumsatz ist vor allem dann sehr nützlich, wenn die Produktionsrate von CO2 mitgemessen wird. Die | |||||
| Menge an Wasser und Kalorien, die im Laufe eines Tages verwertet werden, können als grobe Richtwerte für den | |||||
| Grundumsatz dienen. | |||||
| - The T wave on the electrocardiogram, and the relaxation rate on the Achilles reflex test are useful. | |||||
| - Sowohl die T-Welle eines Elektrokardiogramms als auch die Entspannungszeit beim Achillessehnenreflex-Test sind | |||||
| nützlich. | |||||
| - Blood tests for cholesterol, albumin, glucose, sodium, lactate, total thyroxine and total T3 are useful to know, | |||||
| because they help to evaluate the present thyroid status, and sometimes they can suggest ways to correct the problem. | |||||
| - Es kann zudem sinnvoll sein, die Blutwerte von Cholesterin, Albumin, Glukose, Natrium, Laktat, Gesamt-Thyroxin, sowie | |||||
| Gesamt-T3 zu wissen, weil sie eine Evaluierung der aktuellen Funktionsstärke der Schilddrüse ermöglichen und zudem oft | |||||
| Hinweise geben, wie sich das Problem behandeln ließe. | |||||
| - Less common blood or urine tests (adrenaline, cortisol, ammonium, free fatty acids), if they are available, can help | |||||
| to understand compensatory reactions to hypothyroidism. | |||||
| - Seltenere Blut- bzw. Urinproben (Adrenalin, Cortisol, Ammoniak, freie Fettsäuren), falls sie zur Verfügung stehen, | |||||
| können dem besseren Verständnis der Kompensierungsreaktionen einer Schilddrüsenunterfunktion dienen. | |||||
| - A book such as McGavack's The Thyroid, that provides traditional medical knowledge about thyroid physiology, can help | |||||
| to dispel some of the current dogmas about the thyroid. | |||||
| - Bücher wie „The Thyroid“ von McGavack, die traditionelles medizinisches Wissen über Schilddrüsenphysiologie liefern, | |||||
| können helfen, einige der aktuellen Dogmata über die Schilddrüse aufzulösen. | |||||
| - Using more physiologically relevant methods to diagnose hypothyroidism will contribute to understanding its role in | |||||
| many problems now considered to be unrelated to the thyroid. | |||||
| - Die Benutzung physiologisch relevanter Methoden, eine Schilddrüsenunterfunktion zu diagnostizieren, trägt dazu bei, | |||||
| deren Rolle bei diversen Problemen zu verstehen, bei denen mittlerweile ein Zusammenhang mit der Schilddrüse | |||||
| ausgeschlossen wird. | |||||
| --- | |||||
| - I have spoken to several people who told me that their doctors had diagnosed them as “both hypothyroid and | |||||
| hyperthyroid.” Although physicists can believe in things which are simultaneously both particles and not particles, I | |||||
| think biology (and medicine, as far as it is biologically based) should occupy a world in which things are not | |||||
| simultaneously themselves and their opposites. Those illogical, impossible diagnoses make it clear that the rules for | |||||
| interpreting test results have in some situations lost touch with reality. | |||||
| - Ich sprach mit vielen Leuten, die mir erzählten, dass ihre Ärzte bei ihnen „gleichzeitig eine Schilddrüsenüber- sowie | |||||
| -unterfunktion“ diagnostiziert hatten. Obwohl Physiker in der Lage sind, an Dinge zu glauben, die gleichzeitig sowohl | |||||
| Partikeln als auch keine Partikeln sind, denke ich, dass die Biologie (und die Medizin, sofern sie auf der Biologie | |||||
| beruht) eine Welt bewohnen sollten, in der Sachen nicht simultan sie selbst und ihre Gegenteile sind. Diese | |||||
| unlogischen, unmöglichen Diagnosen zeigen auf, dass die Regeln zur Interpretierung von Testergebnissen in manchen | |||||
| Fällen sämtlichen Bezug zur Realität verloren haben. | |||||
| - Until the 1940s, hypothyroidism was diagnosed on the basis of signs and symptoms, and sometimes the measurement of | |||||
| oxygen consumption (“basal metabolic rate”) was used for confirmation. Besides the introduction of supposedly | |||||
| “scientific” blood tests, such as the measurement of protein-bound iodine (PBI) in the blood, there were other motives | |||||
| for becoming parsimonious with the diagnosis of hypothyroidism. With the introduction of synthetic thyroxine, one of | |||||
| the arguments for increasing its sale was that natural Armour thyroid (which was precisely standardized by biological | |||||
| tests) wasn't properly standardized, and that an overdose could be fatal. A few articles in prestigious journals | |||||
| created a myth of the danger of thyroid, and the synthetic thyroxine was (falsely) said to be precisely standardized, | |||||
| and to be without the dangers of the complete glandular extract. | |||||
| - Bis in die 1940er Jahre wurde eine Schilddrüsenunterfunktion auf Basis von Anzeichen und Symptomen festgestellt und | |||||
| manchmal wurde auch der Sauerstoffkonsum („basaler Grundumsatz“) zur Bestätigung gemessen. Abgesehen von der | |||||
| Einführung scheinbar „wissenschaftlicher“ Bluttests, wie z.B. der Messung des proteingebundenen Jods im Blut, gab es | |||||
| weitere Motive, eher zurückhaltend mit der Diagnose einer Schilddrüsenunterfunktion zu werden. Mit der Einführung | |||||
| einer synthetischen Form von Thyroxin war eins der Argumente, die Verkaufszahlen zu steigern, dass natürliches | |||||
| Armour-Schilddrüsenhormon (welches präzise mittels biologischer Tests standardisiert wurde) eben nicht sauber | |||||
| standardisiert war, und dass eine Überdosis fatal sein könnte. Einige Artikel, die in namhaften Ärzteblättern | |||||
| erschienen, schufen den Mythos der Gefahr von Schilddrüsenhormon und synthetisches Thyroxin wurde (fälschlicherweise) | |||||
| als präzise standardisiert beschrieben, sowie frei von jeglichen Gefahren, die mit dem Drüsenextrakt verbunden seien. | |||||
| - Between 1940 and about 1950, the estimated percentage of hypothyroid Americans went from 30% or 40% to 5%, on the | |||||
| basis of the PBI test, and it has stayed close to that lower number (many publications claim it to be only 1% or 2%). | |||||
| By the time that the measurement of PBI was shown to be only vaguely related to thyroid hormonal function, it had been | |||||
| in use long enough for a new generation of physicians to be taught to disregard the older ideas about diagnosing and | |||||
| treating hypothyroidism. They were taught to inform their patients that the traditional symptoms that were identified | |||||
| as hypothyroidism before 1950 were the result of the patients' own behavior (sloth and gluttony, for example, which | |||||
| produced fatigue, obesity, and heart disease), or that the problems were imaginary (women's hormonal and neurological | |||||
| problems, especially), or that they were simply mysterious diseases and defects (recurring infections, arthritis, and | |||||
| cancer, for example). | |||||
| - Zwischen 1940 und 1950 sank das geschätzte Vorkommen hypothyreoter US-Amerikaner auf Basis des PBI-Tests | |||||
| (proteingebundener Jod) von 30 bis 40 % auf 5 % und blieb bislang in diesem niedrigeren Bereich. (Manche Publikationen | |||||
| behaupten, es betreffe nur 1 bis 2 %.) Bis es gezeigt wurde, dass die Bestimmung der PBI-Konzentration im Blut nur | |||||
| einen geringen Zusammenhang mit der Schilddrüsenfunktion hatte, war es schon ausreichend lange in Verwendung, dass | |||||
| einer neuen Generation von Medizinern beigebracht werden konnte, ältere Ideen zur Diagnostik und Behandlung einer | |||||
| Schilddrüsenunterfunktion schlichtweg nicht mehr zu beachten. Es wurde ihnen beigebracht, ihre Patienten zu | |||||
| informieren, dass die traditionellen Symptome, die vor 1950 als Erscheinungen einer Schilddrüsenunterfunktion erkannt | |||||
| worden wären, ihre Ursache in der Lebensweise der Patienten selber hätten (Faulheit und Völlerei führten | |||||
| beispielsweise zu Trägheit, Fettleibigkeit, und Herzkreislauferkrankungen), oder dass sie ihre Probleme nur einbilden | |||||
| würden (insbesondere die hormonellen und neurologischen Probleme von Frauen), oder dass diese Probleme bloß mysteriöse | |||||
| Krankheiten und Defekte wären (wiederkehrende Infekte, Arthrose, und Krebs, zum Beispiel). | |||||
| - As the newer, more direct tests became available, their meaning was defined in terms of the statistical expectation of | |||||
| hypothyroidism that had become an integral part of medical culture. To make the new TSH measurements fit the medical | |||||
| doctrine, an 8- or 10-fold variation in the hormone was defined as “normal.” With any other biological measurement, | |||||
| such as erythrocyte count, blood pressure, body weight, or serum sodium, calcium, chloride, or glucose, a variation of | |||||
| ten or 20 percent from the mean is considered to be meaningful. If the doctrine regarding the 5% prevalence of | |||||
| hypothyroidism hadn't been so firmly established, there would have been more interest in establishing the meaning of | |||||
| these great variations in TSH. | |||||
| - Die zunehmende Verfügbarkeit neuerer, direkterer Tests hat dazu geführt, dass deren Bedeutung anhand statistischer | |||||
| Erwartungen einer Schilddrüsenunterfunktion festgelegt wurde, die sich in der medizinischen Kultur schon fest | |||||
| etabliert hatte. Um die neuen TSH-Messwerte an die medizinische Lehrmeinung anzupassen, wurde eine acht- bis zehnfache | |||||
| Abweichung des Hormons als „normal“ definiert. Bei sämtlichen anderen biologischen Messungen, wie z.B. Erythrozyten, | |||||
| Blutdruck, Körpergewicht, oder Serumnatrium, -kalzium, -chlor, oder -glukose, wird eine Abweichung von mehr als 20 | |||||
| Prozent vom Mittelwert als aussagekräftig betrachtet. Wenn sich die Lehrmeinung bezüglich des 5 %-igen Vorkommens von | |||||
| Schilddrüsenunterfunktion nicht so fest etabliert hätte, hätte es mehr Interesse gegeben, die Bedeutung dieser großen | |||||
| Abweichungen des TSH-Werts zu klären. | |||||
| - In recent years the “normal range” for TSH has been decreasing. In 2003, the American Association of Clinical | |||||
| Endocrinologists changed their guidelines for the normal range to 0.3 to 3.0 microIU/ml. But even though this lower | |||||
| range is less arbitrary than the older standards, it still isn't based on an understanding of the physiological | |||||
| meaning of TSH. | |||||
| - Seit einigen Jahren nehmen die Grenzwerte des normalen TSH-Bereichs ab. Die American Association of Clinical | |||||
| Endocrinologists hat 2003 ihre Richtlinien des normalen Bereichs auf 0,3 bis 3,0 microUI/mL angepasst. Obwohl dieser | |||||
| niedrigere Bereich weniger willkürlich wirkt als ältere Standards, basiert es trotzdem nicht auf einem Verständnis der | |||||
| physiologischen Bedeutung von Thyreotropin. | |||||
| - Over a period of several years, I never saw a person whose TSH was over 2 microIU/ml who was comfortably healthy, and | |||||
| I formed the impression that the normal, or healthy, quantity was probably something less than 1.0. | |||||
| - Über mehrere Jahre sah ich noch nie jemanden, die einen Thyreotropin-Wert über 2 microIU/mL hatte, die sich angenehm | |||||
| gesund fühlte, und ich bildete die Meinung, dass die normale bzw. gesunde Quantität wahrscheinlich eher einen Wert | |||||
| unter 1,0 beträgt. | |||||
| - If a pathologically high TSH is defined as normal, its role in major diseases, such as breast cancer, mastalgia, MS, | |||||
| fibrotic diseases, and epilepsy, will simply be ignored. Even if the possibility is considered, the use of an | |||||
| irrational norm, instead of a proper comparison, such as the statistical difference between the mean TSH levels of | |||||
| cases and controls, leads to denial of an association between hypothyroidism and important diseases, despite evidence | |||||
| that indicates an association. | |||||
| - Wenn ein pathologisch hoher Thyreotropin-Wert als normal definiert wird, wird die Rolle, die er bei wichtigen | |||||
| Krankheiten spielt, wie z.B. Brustkrebs, Mastodynie (auch „Mastalgie“), multipler Sklerose, fibrotischen Krankheiten | |||||
| und Epilepsie, schlichtweg ignoriert. Selbst wenn das für möglich gehalten wird, führt die Anwendung einer | |||||
| irrationalen Norm (anstatt eines zweckmäßigen Vergleichs, wie bspw. des statistischen Abstands des TSH-Mittelwerts | |||||
| unter Fällen und Kontrollen) dazu, dass trotz Beweisen des Gegenteils geleugnet wird, dass ein Zusammenhang zwischen | |||||
| einer Schilddrüsenunterfunktion und wichtigen Krankheiten besteht. | |||||
| - Some critics have said that most physicians are “treating the TSH,” rather than the patient. If TSH is itself | |||||
| pathogenic, because of its pro-inflammatory actions, then that approach isn't entirely useless, even when they “treat | |||||
| the TSH” with only thyroxine, which often isn't well converted into the active triiodothyronine, T3. But the relief of | |||||
| a few symptoms in a small percentage of the population is serving to blind the medical world to the real possibilities | |||||
| of thyroid therapy. | |||||
| - Einige Kritiker haben gesagt, dass die meisten Mediziner nur „den TSH-Wert behandeln“ statt den Patienten. Insofern | |||||
| TSH aufgrund seiner entzündungsfördernden Eigenschaften an und für sich pathogen ist, ist dieser Ansatz nicht | |||||
| vollkommen unbrauchbar, selbst wenn „der TSH-Wert behandelt wird“. Aber behandelt wird er meist nur mit Thyroxin (T4), | |||||
| welches oft nicht sehr gut in seine aktive Form, Trijodthyronin (T3), verstoffwechselt werden kann, und die | |||||
| erfolgreiche Linderung einiger Symptome in einem Bruchteil der Bevölkerung sorgt dafür, dass die Welt der Medizin | |||||
| blind für die wahren Möglichkeiten der Schilddrüsenhormon-Therapie bleibt. | |||||
| - TSH has direct actions on many cell types other than the thyroid, and probably contributes directly to edema (Wheatley | |||||
| and Edwards, 1983), fibrosis, and mastocytosis. If people are concerned about the effects of a TSH “deficiency,” then | |||||
| I think they have to explain the remarkable longevity of the animals lacking pituitaries in W.D. Denckla's | |||||
| experiments, or of the naturally pituitary deficient dwarf mice that lack TSH, prolactin, and growth hormone, but live | |||||
| about a year longer than normal mice (Heiman, et al., 2003). Until there is evidence that very low TSH is somehow | |||||
| harmful, there is no basis for setting a lower limit to the normal range. | |||||
| - TSH hat unmittelbare Auswirkungen auf mehrere Zelltypen und nicht nur auf das Schilddrüsengewebe. Es trägt | |||||
| wahrscheinlich direkt zu Ödem bei (Wheatley und Edwards, 1983), sowie Fibrose und Mastozytose. Wer sich Sorgen um die | |||||
| Folgen eines Thyreotropin-„Mangels“ macht, der soll meiner Meinung nach die außergewöhnliche Langlebigkeit von Tieren | |||||
| erklären, die zwar natürlicherweise über keine Hypophyse und entsprechend weder TSH, noch Prolaktin, noch | |||||
| Wachstumshormon verfügen, die aber fast ein Jahr länger als normale Mäuse leben (Heim, et al., 2003). Bis Beweise | |||||
| dafür vorliegen, dass ein sehr niedriger TSH-Wert irgendwie als gesundheitsgefährdend gelten soll, gibt es bislang | |||||
| keine Basis dafür, einen unteren Grenzwert festzulegen. | |||||
| - Some types of thyroid cancer can usually be controlled by keeping TSH completely suppressed. Since TSH produces | |||||
| reactions in cells as different as fibroblasts and fat cells, pigment cells in the skin, mast cells and bone marrow | |||||
| cells (Whetsell, et al., 1999), it won't be surprising if it turns out to have a role in the development of a variety | |||||
| of cancers, including melanoma. | |||||
| - Einige Arten von Schilddrüsenkrebs können normalerweise unter Kontrolle gehalten werden, indem man TSH komplett | |||||
| unterdrückt. Da TSH einige Reaktionen in verschiedenen Zelltypen hervorruft, von Fibroblasten und Fettzellen, über | |||||
| Mastzellen und Pigmentzellen in der Haut bis hin zu Knochenmarkzellen (Whetsell, et al., 1999), sollte es keine | |||||
| Überraschung sein, wenn sich herausstellen sollte, dass es doch eine Rolle bei der Entwicklung einer Vielzahl von | |||||
| Krebsarten spielt, darunter Melanom. | |||||
| - Many things, including the liver and the senses, regulate the function of the thyroid system, and the pituitary is | |||||
| just one of the factors affecting the synthesis and secretion of the thyroid hormones. | |||||
| - Die Funktion des Schilddrüsen-Systems wird von mehreren Sachen reguliert, darunter auch die Leber und die Sinne, und | |||||
| die Hypophyse ist nur einer der Faktoren, die die Synthese und Ausschüttung der Schilddrüsenhormone beeinflussen. | |||||
| - A few people who had extremely low levels of pituitary hormones, and were told that they must take several hormone | |||||
| supplements for the rest of their life, began producing normal amounts of those hormones within a few days of eating | |||||
| more protein and fruit. Their endocrinologist described them as, effectively, having no pituitary gland. Extreme | |||||
| malnutrition in Africa has been described as creating “. . . a condition resembling hypophysectomy,” (Ingenbleek and | |||||
| Beckers, 1975) but the people I talked to in Oregon were just following what they thought were healthful nutritional | |||||
| policies, avoiding eggs and sugars, and eating soy products. | |||||
| - Einige Leute, die extrem niedrige Spiegel der Hormone der Hypophyse hatten, denen erzählt wurde, dass sie mehrere | |||||
| Hormonpräparate für den Rest ihres Lebens nehmen müssten, begannen mehr dieser Hormone spontan herzustellen, nachdem | |||||
| sie einige Tage lang mehr Obst und Eiweiß zu sich nahmen. Die Diagnose ihrer Endokrinologen war, dass sie effektiv | |||||
| über keine Hypophyse verfügten. Extreme Mangelernährung in Afrika wurde so beschrieben, dass sie „... eine Krankheit | |||||
| verursachte, die einer Hypophysektomie ähnelt,“ (Ingenbleek und Beckers, 1975) aber die Personen, mit denen ich in | |||||
| Oregon sprach, praktizierten bloß das, was sie für eine „gesunde Ernährung“ hielten, d.h. die Vermeidung von Eiern und | |||||
| Zucker, und den Verzehr von Sojaprodukten. | |||||
| - Occasionally, a small supplement of thyroid in addition to a good diet is needed to quickly escape from the | |||||
| stress-induced “hypophysectomized” condition. | |||||
| - Gelegentlich reicht eine kleine Zufuhr von Schilddrüsenhormon zusammen mit einer guten Ernährung, um schnell aus dem | |||||
| durch Stress verursachten „Hypophysektomie“-Zustand zu entkommen. | |||||
| - Aging, infection, trauma, prolonged cortisol excess, somatostatin, dopamine or L-dopa, adrenaline (sometimes; | |||||
| Mannisto, et al., 1979), amphetamine, caffeine and fever can lower TSH, apart from the effect of feedback by the | |||||
| thyroid hormones, creating a situation in which TSH can appear normal or low, at the same time that there is a real | |||||
| hypothyroidism. | |||||
| - Außer der Rückkopplungswirkung der Schilddrüsenhormone können das Altwerden, eine Infektion, Trauma, ein lang | |||||
| anhaltender Cortisol-Überschuss, Somatostatin, Dopamin oder L-dopa, Adrenalin (nur manchmal; Mannisto, et al., 1979), | |||||
| Amphetamin, Koffein und Fieber den Thyreotropin-Spiegel senken, was dafür sorgt, dass Thyreotropin normal oder niedrig | |||||
| wirkt, wenn aber eine echte Schilddrüsenunterfunktion vorliegt. | |||||
| - A disease or its treatment can obscure the presence of hypothyroidism. Parkinson's disease is a clear example of this. | |||||
| (Garcia-Moreno and Chacon, 2002: “... in the same way hypothyroidism can simulate Parkinson's disease, the latter can | |||||
| also conceal hypothyroidism.”) | |||||
| - Eine Krankheit oder deren Behandlung kann das Vorliegen einer Schilddrüsenunterfunktion verbergen. Hiervon ist | |||||
| Parkinson ein klares Beispiel. (Garcia-Moreno und Chacon, 2002: „... wie eine Schilddrüsenunterfunktion Parkinson | |||||
| simulieren kann, so kann letzteres auch eine Schilddrüsenunterfunktion verbergen.“) | |||||
| - The stress-induced suppression of TSH and other pituitary hormones is reminiscent of the protective inhibition that | |||||
| occurs in individual nerve fibers during dangerously intense stress, and might involve such a “parabiotic” process in | |||||
| the nerves of the hypothalamus or other brain region. The relative disappearance of the pituitary hormones when the | |||||
| organism is in very good condition (for example, the suppression of ACTH and cortisol by sugar or pregnenolone) is | |||||
| parallel to the high energy quiescence of individual nerve fibers. | |||||
| - Die durch Stress ausgelöste Unterdrückung von Thyreotropin und anderen Hormonen erinnert an die schützende Hemmung, | |||||
| die bei intensivem Stress gefährlichen Ausmaßes in individuellen Nervenfasern eintritt, und mag vielleicht mit einem | |||||
| „parabiotischen“ Prozess in den Nerven des Hypothalamus oder einer anderen Hirnregion einhergehen. Dass die Hormone | |||||
| der Hypophyse mehr oder weniger verschwinden, wenn sich der Organismus in einem sehr gesunden Zustand befindet (z.B. | |||||
| die Unterdrückung von ACTH und Cortisol durch Zucker oder Pregnenolon), ähnelt der hochenergetischen Stilllegung | |||||
| individueller Nervenfasern. | |||||
| - These associations between energy state and cellular activity can be used for evaluating the thyroid state, as in | |||||
| measuring nerve and muscle reaction times and relaxation rates. For example, relaxation which is retarded, because of | |||||
| slow restoration of the energy needed for cellular “repolarization,” is the basis for the traditional use of the | |||||
| Achilles tendon reflex relaxation test for diagnosing hypothyroidism. The speed of relaxation of the heart muscle also | |||||
| indicates thyroid status (Mohr-Kahaly, et al., 1996). | |||||
| - Diese Zusammenhänge zwischen dem energetischen Zustand der Zelle und deren Aktivität können benutzt werden, um die | |||||
| Schilddrüsenfunktion zu evaluieren. Hierzu dienen die Reaktionszeiten sowie Entspannungszeiten der Muskeln und Nerven. | |||||
| Eine verzögerte Entspannung, die aufgrund einer langsamen Wiederherstellung der für die „Repolarisierung“ benötigten | |||||
| zellulären Energie zustande kommt, schafft die Basis der traditionellen Anwendung des Achillessehnenreflex-Tests zur | |||||
| Diagnose einer Schilddrüsenunterfunktion. | |||||
| - Stress, besides suppressing the TSH, acts in other ways to suppress the real thyroid function. Cortisol, for example, | |||||
| inhibits the conversion of T4 to T3, which is responsible for the respiratory production of energy and carbon dioxide. | |||||
| Adrenaline, besides leading to increased production of cortisol, is lipolytic, releasing the fatty acids which, if | |||||
| they are polyunsaturated, inhibit the production and transport of thyroid hormone, and also interfere directly with | |||||
| the respiratory functions of the mitochondria. Adrenaline decreases the conversion to T4 to T3, and increases the | |||||
| formation of the antagonistic reverse T3 (Nauman, et al., 1980, 1984). | |||||
| - Stress kann über deren Unterdrückung des TSH-Werts hinaus auf mehrere Arten und Weisen die effektive | |||||
| Schilddrüsenfunktion unterdrücken. Cortisol hemmt zum Beispiel die Konvertierung von T4 in T3, welches für die | |||||
| respiratorische Herstellung von Energie und Kohlenstoffdioxid verantwortlich ist. Adrenalin hat abgesehen von seiner | |||||
| Erhöhung des Cortisol-Spiegels eine lipolytische Wirkung, was zur Freisetzung von Fettsäuren führt, und, falls die | |||||
| mehrfach ungesättigt sind, hemmen sie wiederum auch die Herstellung und das Transport der Schilddrüsenhormone. Sie | |||||
| stören zudem direkt die respiratorische Funktion der Mitochondrien. Adrenalin senkt die Konvertierung von T4 in T3, | |||||
| und erhöht die Bildung des antagonistischen Hormons Reverse-T3 (Nauman, et al., 1980, 1984). | |||||
| - During the night, at the time adrenaline and free fatty acids are at their highest, TSH usually reaches its peak. TSH | |||||
| itself can produce lipolysis, raising the level of circulating free fatty acids. This suggests that a high level of | |||||
| TSH could sometimes contribute to functional hypothyroidism, because of the antimetabolic effects of the unsaturated | |||||
| fatty acids. | |||||
| - Adrenalin und freie Fettsäuren erreichen nachts ihren Höhepunkt. TSH erreicht hier auch meistens seinen höchsten Wert. | |||||
| Es kann auch TSH selbst Lipolyse bewirken, was den Spiegel der zirkulierenden freien Fettsäuren erhöht. Dies weist | |||||
| darauf hin, dass ein hoher TSH-Wert manchmal aufgrund der antimetabolischen Wirkung der mehrfach ungesättigten | |||||
| Fettsäuren zu einer funktionalen Schilddrüsenunterfunktion führen könnte | |||||
| - These are the basic reasons for thinking that the TSH tests should be given only moderate weight in interpreting | |||||
| thyroid function. | |||||
| - Das sind also die wesentlichen Gründe zu denken, dass die TSH-Tests nur bedingt zur Interpretierung der | |||||
| Schilddrüsenfunktion beitragen sollten. | |||||
| - The metabolic rate is very closely related to thyroid hormone function, but defining it and measuring it have to be | |||||
| done with awareness of its complexity. | |||||
| - Der Grundumsatz steht in sehr engem Zusammenhang mit der Funktion der Schilddrüsenhormone, aber sie ist schließlich in | |||||
| Anbetracht ihrer Komplexität zu definieren und messen. | |||||
| - The basal metabolic rate that was commonly used in the 1930s for diagnosing thyroid disorders was usually a | |||||
| measurement of the rate of oxygen consumption, made while lying quietly early in the morning without having eaten | |||||
| anything for several hours. When carbon dioxide production can be measured at the same time as oxygen consumption, | |||||
| it's possible to estimate the proportion of energy that is being derived from glucose, rather than fat or protein, | |||||
| since oxidation of glucose produces more carbon dioxide than oxidation of fat does. Glucose oxidation is efficient, | |||||
| and suggests a state of low stress. | |||||
| - Der basale Grundumsatz, die häufig in den 1930er Jahren zur Diagnose einer Schilddrüsenstörung verwendet wurde, war | |||||
| normalerweise eine Messung der Sauerstoffkonsumrate, die durchgeführt wurde, während der Patient morgens still im Bett | |||||
| im gefasteten Zustand lag. Eine gleichzeitige Messung der Kohlenstoffdioxidproduktion sowie des Sauerstoffkonsums | |||||
| ermöglicht es, den Anteil der Energie zu schätzen, der durch Glukose statt Fett oder Eiweiß gewonnen wird, da die | |||||
| Oxidierung von Glukose mehr Kohlenstoffdioxid gewinnt als von Fett. Die Oxidierung von Glukose ist effizient und weist | |||||
| auf einen niedrigen Stresszustand hin. | |||||
| - The very high adrenaline that sometimes occurs in hypothyroidism will increase the metabolic rate in several ways, but | |||||
| it tends to increase the oxidation of fat. If the production of carbon dioxide is measured, the adrenaline/stress | |||||
| component of metabolism will be minimized in the measurement. When polyunsaturated fats are mobilized, their | |||||
| spontaneous peroxidation consumes some oxygen, without producing any usable energy or carbon dioxide, so this is | |||||
| another reason that the production of carbon dioxide is a very good indicator of thyroid hormone activity. The | |||||
| measurement of oxygen consumption was usually done for two minutes, and carbon dioxide production could be accurately | |||||
| measured in a similarly short time. Even a measurement of the percentage of carbon dioxide at the end of a single | |||||
| breath can give an indication of the stress-free, thyroid hormone stimulated rate of metabolism (it should approach | |||||
| five or six percent of the expired air). | |||||
| - Der sehr hohe Adrenalinspiegel, der manchmal mit einer Schilddrüsenunterfunktion einhergeht, erhöht auf verschiedene | |||||
| Art und Weise den Grundumsatz, aber es begünstigt eher Fettoxidierung. Wenn die Produktion von Kohlenstoffdioxid | |||||
| gemessen wird, wird die Adrenalin- bzw. Stress-Komponente des Stoffwechsels in der Messung minimiert. Wenn mehrfach | |||||
| ungesättigte Fettsäuren freigesetzt werden, konsumiert deren spontane Peroxidierung etwas Sauerstoff, und produziert | |||||
| dabei weder verwendbare Energie noch Kohlenstoffdioxid. Das ist also noch ein weiterer Grund, dass die Produktion von | |||||
| Kohlenstoffdioxid ein sehr geeigneter Indikator der Aktivität der Schilddrüsenhormone ist. Die Messung des | |||||
| Sauerstoffkonsums wurde meistens zwei Minuten lang durchgeführt, und die Kohlenstoffdioxidproduktion konnte ähnlich | |||||
| schnell durchgeführt werden. Selbst die Messung des Anteils von Kohlenstoffdioxid nach einem einzigen Atemzug kann auf | |||||
| die stressfreie, durch Schilddrüsenhormon stimulierte Stoffwechselrate hinweisen (dies soll fünf oder sechs Prozent | |||||
| der ausgeatmeten Luft betragen). | |||||
| - Increasingly in the last several years, people who have many of the standard symptoms of hypothyroidism have told me | |||||
| that they are hyperthyroid, and that they have to decide whether to have surgery or radiation to destroy their thyroid | |||||
| gland. They have told me that their symptoms of “hyperthyroidism,” according to their physicians, were fatigue, | |||||
| weakness, irritability, poor memory, and insomnia. | |||||
| - Es haben mir in den letzten Jahren zunehmend mehr Leute erzählt, die mehrere der klassischen Symptome einer | |||||
| Schilddrüsenunterfunktion hatten, dass sie eine Überfunktion hätten, und dass sie zwischen Bestrahlung und einer | |||||
| Operation entscheiden mussten, um ihre Schilddrüse zu zerstören. Sie erzählten mir, dass die Symptome ihrer | |||||
| Schilddrüsen*über*funktion laut ihren Ärzten Müdigkeit, Schwäche, Reizbarkeit, Gedächtnisprobleme und Schlaflosigkeit | |||||
| wären. | |||||
| - They didn't eat very much. They didn't sweat noticeably, and they drank a moderate amount of fluids. Their pulse rates | |||||
| and body temperature were normal, or a little low. | |||||
| - Sie aßen nicht viel. Viel schwitzten sie auch nicht und sie tranken mäßig Flüssigkeit. Ihre Puls- und | |||||
| Körpertemperaturmessungen waren normal, oder etwas niedrig. | |||||
| - Simply on the basis of some laboratory tests, they were going to have their thyroid gland destroyed. But on the basis | |||||
| of all of the traditional ways of judging thyroid function, they were hypothyroid. | |||||
| - Alleine auf Basis einiger Laborwerte hätten sie ihre Schilddrüsen zerstören lassen. Aber auf Basis aller | |||||
| traditionellen Mittel, die Schilddrüsenfunktion zu beurteilen, hatten sie eine Unterfunktion. | |||||
| - Broda Barnes, who worked mostly in Fort Collins, Colorado, argued that the body temperature, measured before getting | |||||
| out of bed in the morning, was the best basis for diagnosing thyroid function. | |||||
| - Broda Barnes, der hauptsächlich in Fort Collins, Colorado arbeitete, argumentierte, dass die Körpertemperatur, wenn | |||||
| sie vor dem Aufstehen in der Früh gemessen wird, die beste Basis zur Diagnose einer Schilddrüsenunterfunktion ist. | |||||
| - Fort Collins, at a high altitude, has a cool climate most of the year. The altitude itself helps the thyroid to | |||||
| function normally. For example, one study (Savourey, et al., 1998) showed an 18% increase in T3 at a high altitude, | |||||
| and mitochondria become more numerous and are more efficient at preventing lactic acid production, capillary | |||||
| leakiness, etc. | |||||
| - Fort Collins, eine sehr hoch gelegene Stadt, hat rund ums Jahr meistens ein kühles Klima. Die hohe Lage begünstigt an | |||||
| und für sich eine normale Schilddrüsenfunktion. Eine Studie (Savourey, et al., 1998) vermerkte zum Beispiel einen 18 | |||||
| %-igen Anstieg des T3-Spiegels in großer Höhe. Mitochondrien vervielfachen sich und sind darin effizienter, die | |||||
| Bildung von Laktat, die Durchlässigkeit der Kapillaren, usw. zu hemmen, | |||||
| - In Eugene during a hot and humid summer, I saw several obviously hypothyroid people whose temperature seemed perfectly | |||||
| normal, euthyroid by Barnes' standards. But I noticed that their pulse rates were, in several cases, very low. It | |||||
| takes very little metabolic energy to keep the body at 98.6 degrees when the air temperature is in the nineties. In | |||||
| cooler weather, I began asking people whether they used electric blankets, and ignored their temperature measurements | |||||
| if they did. | |||||
| - Während eines heißen und schwülen Sommers in Eugene sah ich mehrere offensichtlich hypothyreote Menschen, deren | |||||
| Temperaturmessungen ganz normal wirkten - laut Barnes euthyreot. Aber ich bemerkte, dass ihre Pulsraten in vielen | |||||
| Fällen sehr niedrig waren. Es wird sehr wenig metabolische Energie benötigt, um die Körpertemperatur bei 98,6° F | |||||
| (36,6° C) Grad beizubehalten, wenn die Außentemperatur bei über 90° F (Mitte 30° C) liegt. Bei kühlerem Wetter begann | |||||
| ich, Leute zu fragen, ob sie Heizdecken benutzen, und, wenn dem so war, ignorierte ich ihre Temperaturmessungen. | |||||
| - The combination of pulse rate and temperature is much better than either one alone. I happened to see two people whose | |||||
| resting pulse rates were chronically extremely high, despite their hypothyroid symptoms. When they took a thyroid | |||||
| supplement, their pulse rates came down to normal. (Healthy and intelligent groups of people have been found to have | |||||
| an average resting pulse rate of 85/minute, while less healthy groups average close to 70/minute.) | |||||
| - Die Kombination von Puls und Temperatur ist viel sinnvoller als nur eines der beiden. Ich sah zufällig zwei Leute, die | |||||
| trotz Symptomen einer Schilddrüsenunterfunktion einen chronisch sehr hohen Puls hatten. Durch Zufuhr eines | |||||
| Schilddrüsenhormonpräparats sanken ihre Pulsraten wieder auf normale Werte. (Gesunde und intelligente Gruppen haben | |||||
| nachweislich einen Durchschnittspuls von 85 Schläge pro Minute, während weniger gesunde Gruppen eher einen Puls von 70 | |||||
| haben.) | |||||
| - The speed of the pulse is partly determined by adrenaline, and many hypothyroid people compensate with very high | |||||
| adrenaline production. Knowing that hypothyroid people are susceptible to hypoglycemia, and that hypoglycemia | |||||
| increases adrenaline, I found that many people had normal (and sometimes faster than average) pulse rates when they | |||||
| woke up in the morning, and when they got hungry. Salt, which helps to maintain blood sugar, also tends to lower | |||||
| adrenalin, and hypothyroid people often lose salt too easily in their urine and sweat. Measuring the pulse rate before | |||||
| and after breakfast, and in the afternoon, can give a good impression of the variations in adrenalin. (The blood | |||||
| pressure, too, will show the effects of adrenaline in hypothyroid people. Hypothyroidism is a major cause of | |||||
| hypertension.) | |||||
| - Die Pulsrate wird teilweise durch Adrenalin bestimmt, und viele Menschen kompensieren ihre Schilddrüsenunterfunktion | |||||
| mit einer hohen Adrenalinproduktion. Angesichts dessen, dass mehrere hypothyreote Menschen zu Unterzuckerung | |||||
| tendieren, und dass eine Unterzuckerung Adrenalin steigert, merkte ich, dass viele Leute einen normalen (und manchmal | |||||
| überdurchschnittlich schnellen) Puls hatten, sowohl in der Früh als auch wenn sie Hunger bekamen. Salz, welches zum | |||||
| Erhalt eines normalen Blutzuckerspiegels beiträgt, senkt tendenziell auch Adrenalin, und hypothyreote Menschen | |||||
| verlieren Salz sehr schnell im Urin und im Schweiß. Um einen besseren Eindruck der Variation im Adrenalinspiegel zu | |||||
| bekommen, kann man den Puls vor und nach dem Frühstück sowie am Nachmittag messen. (Der Blutdruck zeigt zudem auch die | |||||
| Wirkung von Adrenalin in Menschen mit einer Schilddrüsenunterfunktion. Eine Schilddrüsenunterfunktion ist eine häufige | |||||
| Ursache des Bluthochdrucks.) | |||||
| - But hypoglycemia also tends to decrease the conversion of T4 to T3, so heat production often decreases when a person | |||||
| is hungry. First, their fingers, toes, and nose will get cold, because adrenalin, or adrenergic sympathetic nervous | |||||
| activity, will increase to keep the brain and heart at a normal temperature, by reducing circulation to the skin and | |||||
| extremities. Despite the temperature-regulating effect of adrenalin, the reduced heat production resulting from | |||||
| decreased T3 will make a person susceptible to hypothermia if the environment is cool. | |||||
| - Aber Unterzuckerung senkt tendenziell auch die Konvertierung von T4 in T3, was dazu führt, dass die Wärmeproduktion | |||||
| auch sinkt, wenn man Hunger bekommt. Es werden zuerst die Finger, dann die Zehe und schließlich die Nase kalt, weil | |||||
| Adrenalin bzw. die adrenergische Aktivität des Sympathikus steigt, um die Temperatur des Gehirns und des Herzes normal | |||||
| zu halten, indem die Durchblutung der Haut und der Extremitäten gesenkt wird. Trotz der temperatur-regulierenden | |||||
| Wirkung von Adrenalin wird man aufgrund der geringeren Wärmeproduktion durch weniger T3 anfälliger für eine | |||||
| Unterkühlung, falls die Umgebung auch kühl ist. | |||||
| - Since food, especially carbohydrate and protein, will increase blood sugar and T3 production, eating is “thermogenic,” | |||||
| and the oral (or eardrum) temperature is likely to rise after eating. | |||||
| - Da Essen, und insbesondere Kohlenhydrate und Eiweiß, den Blutzuckerspiegel und T3-Produktion steigern, ist der Verzehr | |||||
| von Essen an und für sich „thermogen“, und die Oral- bzw. Trommelfelltemperatur kann nach einer Mahlzeit steigen. | |||||
| - Blood sugar falls at night, and the body relies on the glucose stored in the liver as glycogen for energy, and | |||||
| hypothyroid people store very little sugar. As a result, adrenalin and cortisol begin to rise almost as soon as a | |||||
| person goes to bed, and in hypothyroid people, they rise very high, with the adrenalin usually peaking around 1 or 2 | |||||
| A.M., and the cortisol peaking around dawn; the high cortisol raises blood sugar as morning approaches, and allows | |||||
| adrenalin to decline. Some people wake up during the adrenalin peak with a pounding heart, and have trouble getting | |||||
| back to sleep unless they eat something. | |||||
| - Der Blutzuckerspiegel sinkt in der Nacht, und der Körper ist auf den in der Leber als Glykogen gespeicherten Zucker | |||||
| als Energiequelle verlassen, und Menschen mit einer Schilddrüsenunterfunktion speichern sehr wenig Zucker in ihrer | |||||
| Leber. Dementsprechend fangen Adrenalin und Cortisol fast unmittelbar nach dem Schlafengehen an zu steigen. Bei | |||||
| Menschen mit einer Schilddrüsenunterfunktion steigen sie sehr hoch - das Adrenalin erreicht um ungefähr ein oder zwei | |||||
| Uhr seinen Höhepunkt und Cortisol ungefähr bei der Dämmerung. Das hohe Cortisol steigert den Blutzuckerspiegel, wenn | |||||
| der Morgen naht. Manche Leute wachen bei dem Adrenalinhöhepunkt mit starkem Herzrasen auf, und es fällt ihnen schwer, | |||||
| wieder einzuschlafen, ohne etwas zu essen. | |||||
| - If the night-time stress is very high, the adrenalin will still be high until breakfast, increasing both temperature | |||||
| and pulse rate. The cortisol stimulates the breakdown of muscle tissue and its conversion to energy, so it is | |||||
| thermogenic, for some of the same reasons that food is thermogenic. | |||||
| - Bei hohem Stress in der Nacht, bleibt das Adrenalin auch bis zur ersten Mahlzeit auch hoch, was für eine höhere | |||||
| Temperatur sowie einen höheren Puls sorgt. Cortisol stimuliert den Muskelabbau und die Konvertierung dessen in | |||||
| Energie, und ist also thermogen - dies ähnelt der thermogenen Wirkung von Essen. | |||||
| - After eating breakfast, the cortisol (and adrenalin, if it stayed high despite the increased cortisol) will start | |||||
| returning to a more normal, lower level, as the blood sugar is sustained by food, instead of by the stress hormones. | |||||
| In some hypothyroid people, this is a good time to measure the temperature and pulse rate. In a normal person, both | |||||
| temperature and pulse rate rise after breakfast, but in very hypothyroid people either, or both, might fall. | |||||
| - Nach dem Frühstück fängt das Cortisol (und das Adrenalin, falls es trotz hohem Cortisol hoch blieb,) an, auf eine | |||||
| normales, niedrigeres Niveau zu sinken, während der Blutzuckerspiegel von der zugeführten Nahrung statt von den | |||||
| Stresshormonen aufrechterhalten wird. Bei einigen hypothyreoten Personen ist das ein guter Zeitpunkt, die Temperatur | |||||
| und den Puls zu messen. Bei einer normalen Person steigt nach dem Frühstück sowohl die Temperatur als auch der Puls, | |||||
| aber bei sehr hypothyreoten Personen kann entweder das eine, das andere oder sogar beides sinken. | |||||
| - Some hypothyroid people have a very slow pulse, apparently because they aren't compensating with a large production of | |||||
| adrenalin. When they eat, the liver's increased production of T3 is likely to increase both their temperature and | |||||
| their pulse rate. | |||||
| - Einige hypothyreote Personen haben einen sehr niedrigen Puls, scheinbar aufgrund dessen, dass sie nicht mithilfe einer | |||||
| hohen Adrenalinproduktion kompensieren. Wenn sie essen, sorgt sehr wahrscheinlich die erhöhte Produktion von T3 in der | |||||
| Leber dafür, dass sowohl die Temperatur als auch der Puls steigt. | |||||
| - By watching the temperature and pulse rate at different times of day, especially before and after meals, it's possible | |||||
| to separate some of the effects of stress from the thyroid-dependent, relatively “basal” metabolic rate. When | |||||
| beginning to take a thyroid supplement, it's important to keep a chart of these measurements for at least two weeks, | |||||
| since that's roughly the half-life of thyroxine in the body. When the body has accumulated a steady level of the | |||||
| hormones, and begun to function more fully, the factors such as adrenaline that have been chronically distorted to | |||||
| compensate for hypothyroidism will have begun to normalize, and the early effects of the supplementary thyroid will in | |||||
| many cases seem to disappear, with heart rate and temperature declining. The daily dose of thyroid often has to be | |||||
| increased several times, as the state of stress and the adrenaline and cortisol production decrease. | |||||
| - Wenn man die Temperatur und den Puls im Laufe eines Tages zu verschiedenen Zeitpunkten misst, vor allem vor und nach | |||||
| einer Mahlzeit, ist es möglich, einige der Wirkungen der Stresshormone von dem schilddrüsenhormon-abhängigen, relativ | |||||
| „basalen“ Grundumsatz zu unterscheiden. Am Anfang einer Therapie mit Schilddrüsenhormon ist es wichtig, die Messungen | |||||
| mindestens zwei Wochen aufzuschreiben und ggf. als Kurve darzustellen, da die Halbwertszeit von Thyroxin (T4) im | |||||
| Körper ungefähr zwei Wochen beträgt. Wenn sich einmal ein stabiler Spiegel der Hormone im Körper etabliert hat, werden | |||||
| sich jene Faktoren normalisieren, die zwecks Kompensierung der Unterfunktion chronisch verzerrt geblieben waren, und | |||||
| die frühen Auswirkungen der Zufuhr von Schilddrüsenhormon verschwinden in den meisten Fällen - es sinken dabei der | |||||
| Puls und die Temperatur. Die Tagesdosis von Schilddrüsenhormon muss oft mehrere Male erhöht werden, während der | |||||
| Stresszustand und die Produktion von Adrenalin und Cortisol sinken. | |||||
| - Counting calories achieves approximately the same thing as measuring oxygen consumption, and is something that will | |||||
| allow people to evaluate the various thyroid tests they may be given by their doctor. Although food intake and | |||||
| metabolic rate vary from day to day, an approximate calorie count for several days can often make it clear that a | |||||
| diagnosis of hyperthyroidism is mistaken. If a person is eating only about 1800 calories per day, and has a steady and | |||||
| normal body weight, any “hyperthyroidism” is strictly metaphysical, or as they say, “clinical.” | |||||
| - Das Zählen von Kalorien erreicht annähernd das, was durch die Messung des Sauerstoffkonsums erreicht werden soll, und | |||||
| ermöglicht es einem, die diversen Schilddrüsentests zu evaluieren, die man von seinem Arzt bekommen könnte. Obwohl die | |||||
| Nahrungszufuhr und der Grundumsatz von Tag zu Tag variieren mag, kann ein geschätzter Kalorienkonsum über einige Tage | |||||
| es einem klarstellen, dass eine Schilddrüsen*über*funktion eine Fehldiagnose ist. Sollte eine Person nur um die 1800 | |||||
| Kalorien am Tag konsumieren, und dabei einen normales, stabiles Körpergewicht beibehalten, sind jegliche Diagnosen | |||||
| einer „Überfunktion“ schlichtweg metaphysisch, bzw. sogenannte „klinische“ Diagnosen. | |||||
| - When the humidity and temperature are normal, a person evaporates about a liter of water for every 1000 calories | |||||
| metabolized. Eating 2000 calories per day, a normal person will take in about four liters of liquid, and form about | |||||
| two liters of urine. A hyperthyroid person will invisibly lose several quarts of water in a day, and a hypothyroid | |||||
| person may evaporate a quart or less. | |||||
| - Wenn die Luftfeuchtigkeit und Temperatur normal sind, verdampft eine Person ungefähr einen Liter Wasser pro 1000 | |||||
| verstoffwechselten Kalorien. Durch einen Konsum von 2000 Kalorien am Tag, führt sich eine normale Person ungefähr vier | |||||
| Liter Wasser zu sich zu und bildet ungefähr zwei Liter Urin. Jemand mit einer Schilddrüsen*über*funktion verliert | |||||
| unsichtbar mehrere Liter Wasser pro Tag, und jemand mit einer Unterfunktion könnte hingegen lediglich einen Liter | |||||
| verdampfen, oder sogar weniger. | |||||
| - When cells, because of a low metabolic rate, don't easily return to their thoroughly energized state after they have | |||||
| been stimulated, they tend to take up water, or, in the case of blood vessels, to become excessively permeable. | |||||
| Fatigued muscles swell noticeably, and chronically fatigued nerves can swell enough to cause them to be compressed by | |||||
| the surrounding connective tissues. The energy and hydration state of cells can be detected in various ways, including | |||||
| magnetic resonance, and electrical impedance, but functional tests are easy and practical. | |||||
| - Wenn die Zellen aufgrund eines niedrigen Grundumsatzes nicht besonders einfach zu ihrem völlig energiereichen Zustand | |||||
| zurückkehren, nachdem sie gereizt wurden, nehmen sie tendenziell Wasser auf, oder sie werden wie im Falle der | |||||
| Blutgefäße exzessiv durchlässig. Ermüdete Muskeln schwellen merklich an, und chronisch ermüdete Nerven können so viel | |||||
| anschwellen, dass sie von dem umliegenden Bindegewebe zusammengedrückt werden können. | |||||
| - With suitable measuring instruments, the effects of hypothyroidism can be seen as slowed conduction along nerves, and | |||||
| slowed recovery and readiness for new responses. Slow reaction time is associated with slowed memory, perception, and | |||||
| other mental processes. Some of these nervous deficits can be remedied slightly just by raising the core temperature | |||||
| and providing suitable nutrients, but the active thyroid hormone, T3 is mainly responsible for maintaining the | |||||
| temperature, the nutrients, and the intracellular respiratory energy production. | |||||
| - Mittels angemessener Messgeräte lassen sich die Auswirkungen einer Schilddrüsenunterfunktion durch eine langsame | |||||
| Konduktivität entlang der Nerven beobachten und durch verlangsamte Erholung und Bereitschaft für neue Antworten und | |||||
| Reaktionen. Eine verlangsamte Reaktionszeit geht mit anderen langsamen Prozessen einher, wie zum Beispiel Gedächtnis, | |||||
| Wahrnehmung und anderen geistigen Prozessen. Ein mildes Entgegenwirken dieser Nervendefizite ist durch eine Erhöhung | |||||
| der Kerntemperatur sowie die Zufuhr ausgewählter Nährstoffe möglich, aber das aktive Schilddrüsenhormon, T3, ist | |||||
| hauptverantwortlich dafür, die Temperatur, die benötigten Nährstoffe und die intrazelluläre Energieproduktion | |||||
| aufrechtzuerhalten. | |||||
| - In nerves, as in other cells, the ability to rest and repair themselves increases with the proper level of thyroid | |||||
| hormone. In some cells, the energized stability produced by the thyroid hormones prevents inflammation or an | |||||
| immunological hyperactivity. In the 1950s, shortly after it was identified as a distinct substance, T3 was found to be | |||||
| anti-inflammatory, and both T4 and T3 have a variety of anti-inflammatory actions, besides the suppression of the | |||||
| pro-inflammatory TSH. | |||||
| - In Nerven, wie in anderen Zellen, steigt das Vermögen, sich zu reparieren und zu erholen, mit dem richtigen | |||||
| Schilddrüsenhormonspiegel. In einigen Zellen hemmt die durch das Schilddrüsenhormon hervorgerufene energetische | |||||
| Stabilisierung Entzündungen bzw. immunologische Überaktivität. In den 1950er Jahren wurde T3, kurz nachdem es als | |||||
| eigene Substanz identifiziert wurde, als entzündungshemmend erkannt, und sowohl T4 als auch T3 haben abgesehen von | |||||
| ihrer Hemmung des entzündungsfördernden TSH mehrere andere entzündungshemmende Wirkungen. | |||||
| - Because the actions of T3 can be inhibited by many factors, including polyunsaturated fatty acids, reverse T3, and | |||||
| excess thyroxine, the absolute level of T3 can't be used by itself for diagnosis. “Free T3” or “free T4” is a | |||||
| laboratory concept, and the biological activity of T3 doesn't necessarily correspond to its “freedom” in the test. T3 | |||||
| bound to its transport proteins can be demonstrated to enter cells, mitochondria, and nuclei. Transthyretin, which | |||||
| carries both vitamin A and thyroid hormones, is sharply decreased by stress, and should probably be regularly measured | |||||
| as part of the thyroid examination. | |||||
| - Da die Wirkungen von T3 durch mehrere Faktoren gehemmt werden können, darunter die mehrfach ungesättigten Fettsäuren, | |||||
| sind Reverse-T3, exzessive Thyroxin-Werte und der absolute T3-Spiegel für eine Diagnose nicht ausreichend. „Freies T3“ | |||||
| bzw. „freies T4“ sind Konzepte aus dem Labor, und die biologische Aktivität von T3 stimmt nicht zwingend mit seiner | |||||
| „Freiheit“ in einem Labortest überein. Es kann demonstriert werden, dass an seinen Transportproteinen gebundenes T3 in | |||||
| Zellen, Mitochondrien und Zellkerne eindringen kann. Transthyretin, welches sowohl Vitamin A als auch die | |||||
| Schilddrüsenhormone an sich trägt, wird durch Stress dramatisch gesenkt, und dessen Messung sollte wahrscheinlich | |||||
| regelmäßig als Teil einer Untersuchung der Schilddrüsenfunktion unternommen werden. | |||||
| - When T3 is metabolically active, lactic acid won't be produced unnecessarily, so the measurement of lactate in the | |||||
| blood is a useful test for interpreting thyroid function. Cholesterol is used rapidly under the influence of T3, and | |||||
| ever since the 1930s it has been clear that serum cholesterol rises in hypothyroidism, and is very useful | |||||
| diagnostically. Sodium, magnesium, calcium, potassium, creatinine, albumin, glucose, and other components of the serum | |||||
| are regulated by the thyroid hormones, and can be used along with the various functional tests for evaluating thyroid | |||||
| function. | |||||
| - Wenn T3 metabolisch aktiv ist, wird Milchsäure nicht unnötigerweise produziert und die Messung von Milchsäure bzw. | |||||
| Laktat im Blut ist also ein nützlicher Test, um die Schilddrüsenfunktion zu kontrollieren. Cholesterin wird relativ | |||||
| rapide unter Einfluss von T3 verstoffwechselt und schon seit den 1930er Jahren ist es klar, dass das Serumcholesterin | |||||
| bei einer Schilddrüsenunterfunktion steigt, und das kann eine gute diagnostische Aussagekraft haben. Natrium, | |||||
| Magnesium, Kalzium, Albumin, Glukose und andere Serumkomponenten werden durch die Schilddrüsenhormone reguliert und | |||||
| können zusammen mit diversen funktionalen Tests zur Evaluierung der Schilddrüsenfunktion zur Hand genommen werden. | |||||
| - Stereotypes are important. When a very thin person with high blood pressure visits a doctor, hypothyroidism isn't | |||||
| likely to be considered; even high TSH and very low T4 and T3 are likely to be ignored, because of the stereotypes. | |||||
| (And if those tests were in the healthy range, the person would be at risk for the “hyperthyroid” diagnosis.) But | |||||
| remembering some of the common adaptive reactions to a thyroid deficiency, the catabolic effects of high cortisol and | |||||
| the circulatory disturbance caused by high adrenaline should lead to doing some of the appropriate tests, instead of | |||||
| treating the person's hypertension and “under nourished” condition. | |||||
| - Stereotypen sind wichtig. Wenn eine dünne Person mit hohem Blutdruck zum Arzt geht, wird eine Schilddrüsenfunktion | |||||
| sehr unwahrscheinlich in Betracht gezogen; selbst ein hoher TSH-Wert und sehr niedrige T4- und T3-Werte werden wohl | |||||
| aufgrund der Stereotypen ignoriert. (Und falls diese Tests im gesunden Bereich liegen, besteht dann das Risiko der | |||||
| Diagnose einer Schilddrüsen*über*funktion.) Aber wenn man sich an einige der häufigen adaptiven Reaktionen auf eine | |||||
| schwache Schilddrüse erinnert, sollten die katabolischen Effekte eines hohen Cortisol-Spiegels und der | |||||
| adrenalin-bedingten Kreislaufstörungen dazu führen, einige der angemessenen Tests durchzuführen, anstatt den | |||||
| Bluthochdruck und die „Mangelernährung“ der Person zu behandeln. | |||||
| @@ -0,0 +1,198 @@ | |||||
| :root { | |||||
| --text-color: #313131; | |||||
| --bg-color-box: #ffffff; | |||||
| --bg-color: #f6f9f6; | |||||
| } | |||||
| body { | |||||
| font-family: "Roboto", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; | |||||
| color: #313131; | |||||
| background-color: var(--bg-color); | |||||
| } | |||||
| h1, h2, h3, h4, h5 { | |||||
| font-family: "Roboto Slab", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; | |||||
| } | |||||
| a.home-btn { | |||||
| display: block; | |||||
| text-align: center; | |||||
| &.hide { | |||||
| visibility: hidden; | |||||
| } | |||||
| } | |||||
| .ge-article { | |||||
| .header { | |||||
| margin-top: 20px; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| p { | |||||
| position: relative; | |||||
| transition: background 0.15s; | |||||
| } | |||||
| p.swap { | |||||
| background-color: #bde4ff; | |||||
| } | |||||
| button.swap { | |||||
| background-color: white; | |||||
| height: 25px; | |||||
| width: 25px; | |||||
| font-size: 16px; | |||||
| border-radius: 3px; | |||||
| border: solid 1px gray; | |||||
| cursor: pointer; | |||||
| position: absolute; | |||||
| top: 5px; | |||||
| right: 5px; | |||||
| opacity: 0%; | |||||
| transition: opacity 150ms; | |||||
| } | |||||
| button.swap:hover { | |||||
| background-color: lightgray; | |||||
| } | |||||
| p:hover > button.swap { | |||||
| opacity: 100%; | |||||
| } | |||||
| .lang-en p.swap > span:lang(de) { | |||||
| display: revert; | |||||
| } | |||||
| .lang-en p.swap > span:lang(en) { | |||||
| display: none; | |||||
| } | |||||
| .lang-de p.swap > span:lang(en) { | |||||
| display: revert; | |||||
| } | |||||
| .lang-de p.swap > span:lang(de) { | |||||
| display: none; | |||||
| } | |||||
| .lang-en *:lang(de) { | |||||
| display: none; | |||||
| } | |||||
| .lang-de *:lang(en) { | |||||
| display: none; | |||||
| } | |||||
| } | |||||
| main { | |||||
| width: 100%; | |||||
| } | |||||
| @media (min-width: 600px) { | |||||
| main { | |||||
| max-width: 1340px; | |||||
| margin: auto; | |||||
| min-width: 600px; | |||||
| width: 60%; | |||||
| } | |||||
| } | |||||
| header { | |||||
| margin: auto; | |||||
| text-align: center; | |||||
| } | |||||
| article { | |||||
| margin: auto; | |||||
| } | |||||
| .text-slab { | |||||
| margin-bottom: 15px; | |||||
| background-color: white; | |||||
| border-radius: 5px; | |||||
| padding: 10px; | |||||
| } | |||||
| .text-slab > p:first-of-type { | |||||
| margin-top: 0; | |||||
| } | |||||
| .text-slab > p:last-of-type { | |||||
| margin-bottom: 0; | |||||
| } | |||||
| form { | |||||
| display: block; | |||||
| text-align: center; | |||||
| margin: 40px; | |||||
| } | |||||
| label { | |||||
| display: block; | |||||
| } | |||||
| hr { | |||||
| border: 0; | |||||
| border-bottom: 1px dashed #ccc; | |||||
| background: #999; | |||||
| } | |||||
| footer .bottom { | |||||
| display: flex; | |||||
| flex-direction: row; | |||||
| justify-content: space-between; | |||||
| } | |||||
| footer { | |||||
| margin-bottom: 20px; | |||||
| } | |||||
| .ge-calculator { | |||||
| table { | |||||
| border-collapse: separate; | |||||
| margin: auto; | |||||
| margin-top: 20px; | |||||
| margin-bottom: 20px; | |||||
| border-radius: 5px; | |||||
| border-spacing: 0; | |||||
| border: 1px solid var(--text-color); | |||||
| } | |||||
| input { | |||||
| width: 70px; | |||||
| } | |||||
| tr:last-of-type td { | |||||
| border-bottom: none; | |||||
| } | |||||
| td { | |||||
| border-bottom: 1px solid var(--text-color); | |||||
| border-right: 1px solid var(--text-color); | |||||
| padding: 10px; | |||||
| } | |||||
| td:last-of-type { | |||||
| border-right: none; | |||||
| } | |||||
| .breathe { | |||||
| padding-left: 4px; | |||||
| padding-right: 4px; | |||||
| } | |||||
| @media (min-width: 600px) { | |||||
| td.right div { | |||||
| display: inline-block; | |||||
| } | |||||
| } | |||||
| } | |||||
| .fade-enter-active, | |||||
| .fade-leave-active { | |||||
| transition: opacity 0.5s ease; | |||||
| } | |||||
| .fade-enter-from, | |||||
| .fade-leave-to { | |||||
| opacity: 0; | |||||
| } | |||||
| @@ -0,0 +1,18 @@ | |||||
| <!DOCTYPE html> | |||||
| <html> | |||||
| <head> | |||||
| <title>G'day</title> | |||||
| <link rel="icon" href="icon.webp" /> | |||||
| <link rel="stylesheet" href="/static/styles.css" /> | |||||
| <!-- SSR HEAD OUTLET --> | |||||
| <script type="module" src="/static/app.js"></script> | |||||
| </head> | |||||
| <body> | |||||
| <main class="container"> | |||||
| <h1>G'day, mate!</h1> | |||||
| <h2>YOUR SITE GOES HERE</h2> | |||||
| <img src="/static/image.jpeg" alt="KANGAROO" /> | |||||
| <div id="app-root"><!-- SSR OUTLET --></div> | |||||
| </main> | |||||
| </body> | |||||
| </html> | |||||
| @@ -1,4 +1,4 @@ | |||||
| import { createSSRApp } from "vue"; | import { createSSRApp } from "vue"; | ||||
| import App from "@/App.tsx"; | import App from "@/App.tsx"; | ||||
| createSSRApp(App).mount('#app-root'); | |||||
| createSSRApp(App).mount("#app-root"); | |||||
| @@ -1,27 +0,0 @@ | |||||
| <!DOCTYPE html> | |||||
| <html> | |||||
| <head> | |||||
| <title>G'day</title> | |||||
| <link rel="icon" href="icon.webp" /> | |||||
| <link rel="stylesheet" href="styles.css" /> | |||||
| <script type="importmap"> | |||||
| { | |||||
| "imports": { | |||||
| "vue": "/deps/vue/dist/vue.esm-browser.js", | |||||
| "vue/jsx-runtime": "/deps/vue/jsx-runtime/index.mjs", | |||||
| "@/": "/app/" | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <script type="module" src="app.js"></script> | |||||
| <!-- SSR HEAD OUTLET --> | |||||
| </head> | |||||
| <body> | |||||
| <main class="container"> | |||||
| <h1>G'day, mate!</h1> | |||||
| <h2>YOUR SITE GOES HERE</h2> | |||||
| <img src="image.jpeg" alt="KANGAROO" /> | |||||
| <div id="app-root"><!-- SSR OUTLET --></div> | |||||
| </main> | |||||
| </body> | |||||
| </html> | |||||
| @@ -0,0 +1 @@ | |||||
| @@ -0,0 +1,485 @@ | |||||
| const articles = [ | |||||
| { | |||||
| title: "TSH, temperature, pulse rate, and other indicators in hypothyroidism", | |||||
| url: "http://raypeat.com/articles/articles/hypothyroidism.shtml", | |||||
| slug: "hypothyroidism", | |||||
| }, | |||||
| { | |||||
| title: "Academic authoritarians, language, metaphor, animals, and science", | |||||
| url: "http://raypeat.com/articles/articles/authoritarians.shtml", | |||||
| slug: "authoritarians", | |||||
| }, | |||||
| { | |||||
| title: "Adaptive substance, creative regeneration: Mainstream science, repression, and creativity", | |||||
| url: "http://raypeat.com/articles/articles/adaptive-substance.shtml", | |||||
| slug: "adaptive-substance", | |||||
| }, | |||||
| { | |||||
| title: "Aging Eyes, Infant Eyes, and Excitable Tissues", | |||||
| url: "http://raypeat.com/articles/articles/aging-eyes.shtml", | |||||
| slug: "aging-eyes", | |||||
| }, | |||||
| { | |||||
| title: "Aging, estrogen, and progesterone.", | |||||
| url: "http://raypeat.com/articles/aging/aging-estrogen-progesterone.shtml", | |||||
| slug: "aging-estrogen-progesterone", | |||||
| }, | |||||
| { | |||||
| title: "Altitude and Mortality.", | |||||
| url: "http://raypeat.com/articles/aging/altitude-mortality.shtml", | |||||
| slug: "altitude-mortality", | |||||
| }, | |||||
| { | |||||
| title: "Alzheimer's: The problem of Alzheimer's disease as a clue to immortality - part 1.", | |||||
| url: "http://raypeat.com/articles/articles/alzheimers.shtml", | |||||
| slug: "alzheimers", | |||||
| }, | |||||
| { | |||||
| title: "Alzheimer's: The problem of Alzheimer's disease as a clue to immortality - part 2.", | |||||
| url: "http://raypeat.com/articles/articles/alzheimers2.shtml", | |||||
| slug: "alzheimers2", | |||||
| }, | |||||
| { | |||||
| title: "Aspirin, brain and cancer.", | |||||
| url: "http://raypeat.com/articles/aging/aspirin-brain-cancer.shtml", | |||||
| slug: "aspirin-brain-cancer", | |||||
| }, | |||||
| { | |||||
| title: "Autonomic systems.", | |||||
| url: "http://raypeat.com/articles/other/autonomic-systems.shtml", | |||||
| slug: "autonomic-systems", | |||||
| }, | |||||
| { | |||||
| title: "Bleeding, clotting, cancer.", | |||||
| url: "http://raypeat.com/articles/aging/bleeding-clotting-cancer.shtml", | |||||
| slug: "bleeding-clotting-cancer", | |||||
| }, | |||||
| { | |||||
| title: "Blocking Tissue Destruction.", | |||||
| url: "http://raypeat.com/articles/articles/tissue-destruction.shtml", | |||||
| slug: "tissue-destruction", | |||||
| }, | |||||
| { | |||||
| title: "Bone Density: First Do No Harm.", | |||||
| url: "http://raypeat.com/articles/aging/bonedensity.shtml", | |||||
| slug: "bonedensity", | |||||
| }, | |||||
| { | |||||
| title: "Breast Cancer.", | |||||
| url: "http://raypeat.com/articles/aging/breastcancer.shtml", | |||||
| slug: "breastcancer", | |||||
| }, | |||||
| { | |||||
| title: 'BSE ("mad cow"), scrapie, etc.: Stimulated amyloid degeneration and the toxic fats.', | |||||
| url: "http://raypeat.com/articles/aging/madcow.shtml", | |||||
| slug: "madcow", | |||||
| }, | |||||
| { | |||||
| title: | |||||
| "Caffeine: A vitamin-like nutrient, or adaptogen. Questions about tea and coffee, cancer and other degenerative diseases, and the hormones.", | |||||
| url: "http://raypeat.com/articles/articles/caffeine.shtml", | |||||
| slug: "caffeine", | |||||
| }, | |||||
| { | |||||
| title: "Calcium and Disease: Hypertension, organ calcification, & shock, vs. respiratory energy", | |||||
| url: "http://raypeat.com/articles/articles/calcium.shtml", | |||||
| slug: "calcium", | |||||
| }, | |||||
| { | |||||
| title: "Cancer: Disorder and Energy", | |||||
| url: "http://raypeat.com/articles/articles/cancer-disorder-energy.shtml", | |||||
| slug: "cancer-disorder-energy", | |||||
| }, | |||||
| { | |||||
| title: "Cancer: Disorder and Energy", | |||||
| url: "http://raypeat.com/articles/articles/cancer-disorder-energy.shtml", | |||||
| slug: "cancer-disorder-energy", | |||||
| }, | |||||
| { | |||||
| title: "Cascara, energy, cancer and the FDA's laxative abuse", | |||||
| url: "http://raypeat.com/articles/articles/cascara-energy-cancer-fda-laxative-abuse.shtml", | |||||
| slug: "cascara-energy-cancer-fda-laxative-abuse", | |||||
| }, | |||||
| { | |||||
| title: "Cataracts: water, energy, light, and aging", | |||||
| url: "http://raypeat.com/articles/articles/cataracts-water-energy-light-aging.shtml", | |||||
| slug: "cataracts-water-energy-light-aging", | |||||
| }, | |||||
| { | |||||
| title: "Cholesterol, longevity, intelligence, and health.", | |||||
| url: "http://raypeat.com/articles/articles/cholesterol-longevity.shtml", | |||||
| slug: "cholesterol-longevity", | |||||
| }, | |||||
| { | |||||
| title: "Coconut Oil.", | |||||
| url: "http://raypeat.com/articles/articles/coconut-oil.shtml", | |||||
| slug: "coconut-oil", | |||||
| }, | |||||
| { | |||||
| title: "Diabetes, scleroderma, oils and hormones.", | |||||
| url: "http://raypeat.com/articles/articles/diabetes.shtml", | |||||
| slug: "diabetes", | |||||
| }, | |||||
| { | |||||
| title: "Eclampsia in the Real Organism: A Paradigm of General Distress Applicable in Infants, Adults, Etc.", | |||||
| url: "http://raypeat.com/articles/aging/eclampsia.shtml", | |||||
| slug: "eclampsia", | |||||
| }, | |||||
| { | |||||
| title: "Epilepsy and Progesterone.", | |||||
| url: "http://raypeat.com/articles/articles/epilepsy-progesterone.shtml", | |||||
| slug: "epilepsy-progesterone", | |||||
| }, | |||||
| { | |||||
| title: "Estriol, DES, DDT, etc.", | |||||
| url: "http://raypeat.com/articles/aging/estriol-des-ddt.shtml", | |||||
| slug: "estriol-des-ddt", | |||||
| }, | |||||
| { | |||||
| title: "Estrogen - Age Stress Hormone.", | |||||
| url: "http://raypeat.com/articles/articles/estrogen-age-stress.shtml", | |||||
| slug: "estrogen-age-stress", | |||||
| }, | |||||
| { | |||||
| title: "Estrogen and Osteoporosis.", | |||||
| url: "http://raypeat.com/articles/articles/estrogen-osteoporosis.shtml", | |||||
| slug: "estrogen-osteoporosis", | |||||
| }, | |||||
| { | |||||
| title: "Estrogen Receptors - what do they explain?", | |||||
| url: "http://raypeat.com/articles/articles/pdf/Estrogen-Receptors-what-do-they-explain.pdf", | |||||
| slug: "http://raypeat.com/articles/articles/pdf/", | |||||
| }, | |||||
| { | |||||
| title: "Estrogen, memory and heredity: Imprinting and the stress response", | |||||
| url: "http://raypeat.com/articles/articles/imprinting.shtml", | |||||
| slug: "imprinting", | |||||
| }, | |||||
| { | |||||
| title: "Estrogen, progesterone, and cancer: Conflicts of interest in regulation and product promotion", | |||||
| url: "http://raypeat.com/articles/articles/estrogen-progesterone-cancer.shtml", | |||||
| slug: "estrogen-progesterone-cancer", | |||||
| }, | |||||
| { | |||||
| title: "Fatigue, aging, and recuperation", | |||||
| url: "http://raypeat.com/articles/articles/fatigue-aging-recuperation.shtml", | |||||
| slug: "fatigue-aging-recuperation", | |||||
| }, | |||||
| { | |||||
| title: "Fats and degeneration.", | |||||
| url: "http://raypeat.com/articles/articles/fats-degeneration3.shtml", | |||||
| slug: "fats-degeneration3", | |||||
| }, | |||||
| { | |||||
| title: "Fats, functions & malfunctions", | |||||
| url: "http://raypeat.com/articles/articles/fats-functions-malfunctions.shtml", | |||||
| slug: "fats-functions-malfunctions", | |||||
| }, | |||||
| { | |||||
| title: "Food-junk and some mystery ailments: Fatigue, Alzheimer's, Colitis, Immunodeficiency.", | |||||
| url: "http://raypeat.com/articles/nutrition/carrageenan.shtml", | |||||
| slug: "carrageenan", | |||||
| }, | |||||
| { | |||||
| title: "Gelatin, stress, longevity", | |||||
| url: "http://raypeat.com/articles/articles/gelatin.shtml", | |||||
| slug: "gelatin", | |||||
| }, | |||||
| { | |||||
| title: "Genes, Carbon Dioxide and Adaptation", | |||||
| url: "http://raypeat.com/articles/articles/genes-carbon-dioxide-adaptation.shtml", | |||||
| slug: "genes-carbon-dioxide-adaptation", | |||||
| }, | |||||
| { | |||||
| title: "Glucose and sucrose for diabetes", | |||||
| url: "http://raypeat.com/articles/articles/glucose-sucrose-diabetes.shtml", | |||||
| slug: "glucose-sucrose-diabetes", | |||||
| }, | |||||
| { | |||||
| title: "Glycemia, starch, and sugar in context", | |||||
| url: "http://raypeat.com/articles/articles/glycemia.shtml", | |||||
| slug: "glycemia", | |||||
| }, | |||||
| { | |||||
| title: "Growth hormone: Hormone of Stress, Aging, and Death?", | |||||
| url: "http://raypeat.com/articles/articles/growth-hormone.shtml", | |||||
| slug: "growth-hormone", | |||||
| }, | |||||
| { | |||||
| title: "Heart and hormones", | |||||
| url: "http://raypeat.com/articles/articles/heart-hormones.shtml", | |||||
| slug: "heart-hormones", | |||||
| }, | |||||
| { | |||||
| title: "Hot flashes, energy, and aging", | |||||
| url: "http://raypeat.com/articles/articles/hot-flashes-energy-aging.shtml", | |||||
| slug: "hot-flashes-energy-aging", | |||||
| }, | |||||
| { | |||||
| title: "How do you know? Students, patients, and discovery", | |||||
| url: "http://raypeat.com/articles/articles/howdoyouknow.shtml", | |||||
| slug: "howdoyouknow", | |||||
| }, | |||||
| { | |||||
| title: "Immunodeficiency, dioxins, stress, and the hormones.", | |||||
| url: "http://raypeat.com/articles/articles/immunodeficiency.shtml", | |||||
| slug: "immunodeficiency", | |||||
| }, | |||||
| { | |||||
| title: "Intelligence and metabolism", | |||||
| url: "http://raypeat.com/articles/articles/intelligence.shtml", | |||||
| slug: "intelligence", | |||||
| }, | |||||
| { | |||||
| title: "Intuitive knowledge and its development", | |||||
| url: "http://raypeat.com/articles/articles/intuitive-knowledge.shtml", | |||||
| slug: "intuitive-knowledge", | |||||
| }, | |||||
| { | |||||
| title: "Iron's Dangers.", | |||||
| url: "http://raypeat.com/articles/articles/iron-dangers.shtml", | |||||
| slug: "iron-dangers", | |||||
| }, | |||||
| { | |||||
| title: "Lactate vs. CO2 in wounds, sickness, and aging; the other approach to cancer", | |||||
| url: "http://raypeat.com/articles/articles/lactate.shtml", | |||||
| slug: "lactate", | |||||
| }, | |||||
| { | |||||
| title: "Leakiness, aging, and cancer.", | |||||
| url: "http://raypeat.com/articles/articles/leakiness.shtml", | |||||
| slug: "leakiness", | |||||
| }, | |||||
| { | |||||
| title: "Meat physiology, stress, and degenerative physiology", | |||||
| url: "http://raypeat.com/articles/articles/meat-physiology-stress.shtml", | |||||
| slug: "meat-physiology-stress", | |||||
| }, | |||||
| { | |||||
| title: "Membranes, plasma membranes, and surfaces", | |||||
| url: "http://raypeat.com/articles/articles/membranes.shtml", | |||||
| slug: "membranes", | |||||
| }, | |||||
| { | |||||
| title: "Menopause and its causes.", | |||||
| url: "http://raypeat.com/articles/articles/menopause.shtml", | |||||
| slug: "menopause", | |||||
| }, | |||||
| { | |||||
| title: "Milk in context: allergies, ecology, and some myths", | |||||
| url: "http://raypeat.com/articles/articles/milk.shtml", | |||||
| slug: "milk", | |||||
| }, | |||||
| { | |||||
| title: "Mitochondria and mortality", | |||||
| url: "http://raypeat.com/articles/articles/mitochondria-mortality.shtml", | |||||
| slug: "mitochondria-mortality", | |||||
| }, | |||||
| { | |||||
| title: "Multiple Sclerosis and other hormone related brain syndromes", | |||||
| url: "http://raypeat.com/articles/articles/multiple-sclerosis-hormone-related-brain-syndromes.shtml", | |||||
| slug: "multiple-sclerosis-hormone-related-brain-syndromes", | |||||
| }, | |||||
| { | |||||
| title: "Multiple Sclerosis and other hormone-related brain syndromes", | |||||
| url: "http://raypeat.com/articles/articles/multiple-sclerosis.shtml", | |||||
| slug: "multiple-sclerosis", | |||||
| }, | |||||
| { | |||||
| title: "Multiple sclerosis, protein, fats, and progesterone", | |||||
| url: "http://raypeat.com/articles/articles/ms.shtml", | |||||
| slug: "ms", | |||||
| }, | |||||
| { | |||||
| title: "Natural Estrogens", | |||||
| url: "http://raypeat.com/articles/articles/natural-estrogens.shtml", | |||||
| slug: "natural-estrogens", | |||||
| }, | |||||
| { | |||||
| title: "Oils in Context.", | |||||
| url: "http://raypeat.com/articles/nutrition/oils-in-context.shtml", | |||||
| slug: "oils-in-context", | |||||
| }, | |||||
| { | |||||
| title: "Osteoporosis, aging, tissue renewal, and product science", | |||||
| url: "http://raypeat.com/articles/articles/osteoporosis-aging.shtml", | |||||
| slug: "osteoporosis-aging", | |||||
| }, | |||||
| { | |||||
| title: "Osteoporosis, harmful calcification, and nerve/muscle malfunctions.", | |||||
| url: "http://raypeat.com/articles/articles/osteoporosis.shtml", | |||||
| slug: "osteoporosis", | |||||
| }, | |||||
| { | |||||
| title: "Pathological Science & General Electric: Threatening the paradigm", | |||||
| url: "http://raypeat.com/articles/articles/pathological-science-general-electric.shtml", | |||||
| slug: "pathological-science-general-electric", | |||||
| }, | |||||
| { | |||||
| title: "Phosphate, activation, and aging", | |||||
| url: "http://raypeat.com/articles/articles/phosphate-activation-aging.shtml", | |||||
| slug: "phosphate-activation-aging", | |||||
| }, | |||||
| { | |||||
| title: "Physiology texts and the real world", | |||||
| url: "http://raypeat.com/articles/articles/physiology-texts-and-the-real-world.shtml", | |||||
| slug: "physiology-texts-and-the-real-world", | |||||
| }, | |||||
| { | |||||
| title: "Preventing and treating cancer with progesterone.", | |||||
| url: "http://raypeat.com/articles/articles/cancer-progesterone.shtml", | |||||
| slug: "cancer-progesterone", | |||||
| }, | |||||
| { | |||||
| title: "Progesterone Deceptions", | |||||
| url: "http://raypeat.com/articles/articles/progesterone-deceptions.shtml", | |||||
| slug: "progesterone-deceptions", | |||||
| }, | |||||
| { | |||||
| title: "Progesterone Pregnenolone & DHEA - Three Youth-Associated Hormones.", | |||||
| url: "http://raypeat.com/articles/articles/three-hormones.shtml", | |||||
| slug: "three-hormones", | |||||
| }, | |||||
| { | |||||
| title: "Progesterone Summaries", | |||||
| url: "http://raypeat.com/articles/articles/progesterone-summaries.shtml", | |||||
| slug: "progesterone-summaries", | |||||
| }, | |||||
| { | |||||
| title: "Progesterone, not estrogen, is the coronary protection factor of women.", | |||||
| url: "http://raypeat.com/articles/aging/coronaryprogesterone.shtml", | |||||
| slug: "coronaryprogesterone", | |||||
| }, | |||||
| { | |||||
| title: "Prostate Cancer", | |||||
| url: "http://raypeat.com/articles/articles/prostate-cancer.shtml", | |||||
| slug: "prostate-cancer", | |||||
| }, | |||||
| { | |||||
| title: "Protective CO2 and aging", | |||||
| url: "http://raypeat.com/articles/articles/co2.shtml", | |||||
| slug: "co2", | |||||
| }, | |||||
| { | |||||
| title: "Protective CO2 and aging", | |||||
| url: "http://raypeat.com/articles/articles/protective-co2-aging.shtml", | |||||
| slug: "protective-co2-aging", | |||||
| }, | |||||
| { | |||||
| title: "Regeneration and degeneration: Types of inflammation change with aging", | |||||
| url: "http://raypeat.com/articles/articles/regeneration-degeneration.shtml", | |||||
| slug: "regeneration-degeneration", | |||||
| }, | |||||
| { | |||||
| title: "Rosacea, inflammation, and aging: The inefficiency of stress", | |||||
| url: "http://raypeat.com/articles/articles/rosacea-inflammation-aging.shtml", | |||||
| slug: "rosacea-inflammation-aging", | |||||
| }, | |||||
| { | |||||
| title: "RU486, Cancer, Estrogen, and Progesterone", | |||||
| url: "http://raypeat.com/articles/articles/ru486.shtml", | |||||
| slug: "ru486", | |||||
| }, | |||||
| { | |||||
| title: "Salt, energy, metabolic rate, and longevity", | |||||
| url: "http://raypeat.com/articles/articles/salt.shtml", | |||||
| slug: "salt", | |||||
| }, | |||||
| { | |||||
| title: "Serotonin, depression, and aggression: The problem of brain energy", | |||||
| url: "http://raypeat.com/articles/articles/serotonin-depression-aggression.shtml", | |||||
| slug: "serotonin-depression-aggression", | |||||
| }, | |||||
| { | |||||
| title: "Serotonin: Effects in disease, aging and inflammation", | |||||
| url: "http://raypeat.com/articles/articles/serotonin-disease-aging-inflammation.shtml", | |||||
| slug: "serotonin-disease-aging-inflammation", | |||||
| }, | |||||
| { | |||||
| title: "Stem cells, cell culture, and culture: Issues in regeneration", | |||||
| url: "http://raypeat.com/articles/articles/stemcells.shtml", | |||||
| slug: "stemcells", | |||||
| }, | |||||
| { | |||||
| title: "Sugar issues", | |||||
| url: "http://raypeat.com/articles/articles/sugar-issues.shtml", | |||||
| slug: "sugar-issues", | |||||
| }, | |||||
| { | |||||
| title: "Suitable Fats, Unsuitable Fats: Issues in Nutrition", | |||||
| url: "http://raypeat.com/articles/articles/unsuitablefats.shtml", | |||||
| slug: "unsuitablefats", | |||||
| }, | |||||
| { | |||||
| title: "The Cancer Matrix", | |||||
| url: "http://raypeat.com/articles/articles/the-cancer-matrix.shtml", | |||||
| slug: "the-cancer-matrix", | |||||
| }, | |||||
| { | |||||
| title: "The dark side of stress (learned helplesness)", | |||||
| url: "http://raypeat.com/articles/articles/dark-side-of-stress-learned-helplessness.shtml", | |||||
| slug: "dark-side-of-stress-learned-helplessness", | |||||
| }, | |||||
| { | |||||
| title: "The Great Fish Oil Experiment", | |||||
| url: "http://raypeat.com/articles/articles/fishoil.shtml", | |||||
| slug: "fishoil", | |||||
| }, | |||||
| { | |||||
| title: "The transparency of life: Cataracts as a model of age-related disease.", | |||||
| url: "http://raypeat.com/articles/aging/transparency-cataracts.shtml", | |||||
| slug: "transparency-cataracts", | |||||
| }, | |||||
| { | |||||
| title: "Thyroid, insomnia, and the insanities: Commonalities in disease", | |||||
| url: "http://raypeat.com/articles/articles/thyroid-insanities.shtml", | |||||
| slug: "thyroid-insanities", | |||||
| }, | |||||
| { | |||||
| title: "Thyroid: Therapies, Confusion, and Fraud.", | |||||
| url: "http://raypeat.com/articles/articles/thyroid.shtml", | |||||
| slug: "thyroid", | |||||
| }, | |||||
| { | |||||
| title: "Tissue-bound estrogen in aging", | |||||
| url: "http://raypeat.com/articles/articles/tissue-bound-estrogen.shtml", | |||||
| slug: "tissue-bound-estrogen", | |||||
| }, | |||||
| { | |||||
| title: "Tryptophan, serotonin, and aging.", | |||||
| url: "http://raypeat.com/articles/aging/tryptophan-serotonin-aging.shtml", | |||||
| slug: "tryptophan-serotonin-aging", | |||||
| }, | |||||
| { | |||||
| title: "Unsaturated Vegetable Oils: Toxic.", | |||||
| url: "http://raypeat.com/articles/articles/unsaturated-oils.shtml", | |||||
| slug: "unsaturated-oils", | |||||
| }, | |||||
| { | |||||
| title: "Vegetables, etc. - Who Defines Food?", | |||||
| url: "http://raypeat.com/articles/articles/vegetables.shtml", | |||||
| slug: "vegetables", | |||||
| }, | |||||
| { | |||||
| title: "Vitamin E: Estrogen antagonist, energy promoter, and anti-inflammatory", | |||||
| url: "http://raypeat.com/articles/articles/vitamin-e.shtml", | |||||
| slug: "vitamin-e", | |||||
| }, | |||||
| { | |||||
| title: "Water: swelling, tension, pain, fatigue, aging", | |||||
| url: "http://raypeat.com/articles/articles/water.shtml", | |||||
| slug: "water", | |||||
| }, | |||||
| { | |||||
| title: "When energy fails: Edema, heart failure, hypertension, sarcopenia, etc.", | |||||
| url: "http://raypeat.com/articles/articles/edema-heart-failure-hypertension-sarcopenia.shtml", | |||||
| slug: "edema-heart-failure-hypertension-sarcopenia", | |||||
| }, | |||||
| { | |||||
| title: "William Blake as biological visionary. Can art instruct science?", | |||||
| url: "http://raypeat.com/articles/articles/william-blake.shtml", | |||||
| slug: "william-blake", | |||||
| }, | |||||
| ]; | |||||
| export default articles; | |||||
| @@ -0,0 +1,177 @@ | |||||
| import fs from "node:fs/promises"; | |||||
| import path from "node:path"; | |||||
| import articles from "./articles"; | |||||
| import jsdom from "jsdom"; | |||||
| const DUMPS_LOCATION = "article-dumps"; | |||||
| const PROCESSED_LOCATION = "processed-articles"; | |||||
| export async function scrapeArticlesMainContent() { | |||||
| const promises = articles.map((article) => { | |||||
| return new Promise<string>(async (resolve, reject) => { | |||||
| let text; | |||||
| try { | |||||
| text = await (await fetch(article.url)).text(); | |||||
| } catch (e) { | |||||
| console.log("e:", article.url); | |||||
| reject(`error occurred with this one: ${e}`); | |||||
| return; | |||||
| } | |||||
| resolve(text); | |||||
| }); | |||||
| }); | |||||
| const results = await Promise.allSettled(promises); | |||||
| for (let i = 0; i < results.length; i++) { | |||||
| const result = results[i]; | |||||
| if (result.status === "rejected") { | |||||
| continue; | |||||
| } | |||||
| try { | |||||
| const dom = new jsdom.JSDOM(result.value); | |||||
| fs.writeFile( | |||||
| path.resolve(".", DUMPS_LOCATION, articles[i].slug + ".html"), | |||||
| dom.window.document.body.getElementsByClassName("entries").item(0)?.innerHTML ?? "", | |||||
| ); | |||||
| } catch (e) { | |||||
| console.log("d:", articles[i].url); | |||||
| } | |||||
| } | |||||
| } | |||||
| function deleteChildCommentsRecursive(node: Node) { | |||||
| for (const child of node.childNodes) { | |||||
| // comment node type === 8 === Node.COMMENT_NODE but not available here | |||||
| if (child.nodeType === 8) { | |||||
| child.remove(); | |||||
| } else { | |||||
| deleteChildCommentsRecursive(child); | |||||
| } | |||||
| } | |||||
| } | |||||
| function setAsTitleIfContainsArticle(doc: Document, node: Node) { | |||||
| const el = node as HTMLSpanElement; | |||||
| if (el.innerHTML?.includes("A R T I C L E")) { | |||||
| el.innerHTML = el.innerHTML.replace("A R T I C L E", ""); | |||||
| el.replaceWith(Object.assign(doc.createElement("h1"), { innerHTML: el.innerHTML })); | |||||
| let existingTitle = doc.head.querySelector("title"); | |||||
| if (!existingTitle) { | |||||
| existingTitle = doc.createElement("title"); | |||||
| } | |||||
| doc.head.appendChild(Object.assign(doc.createElement("title"), { innerHTML: el.innerHTML.trim() })); | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| type ReplcementEntry = { | |||||
| tag?: string | null; | |||||
| attrs?: Partial<Record<string, any>>; | |||||
| extra?: (doc: Document, node: Node) => boolean; | |||||
| }; | |||||
| const selectorReplacementMap: Record<string, ReplcementEntry | null> = { | |||||
| "title": null, | |||||
| "ul": { | |||||
| tag: null, | |||||
| }, | |||||
| "i": { | |||||
| tag: "em", | |||||
| }, | |||||
| "font": { | |||||
| tag: null, | |||||
| }, | |||||
| "p": { | |||||
| tag: "p", | |||||
| }, | |||||
| "div": { | |||||
| tag: null, | |||||
| }, | |||||
| "img": null, | |||||
| "br": null, | |||||
| "wbr": null, | |||||
| "b": { | |||||
| tag: "strong", | |||||
| extra: setAsTitleIfContainsArticle, | |||||
| }, | |||||
| "center": null, | |||||
| "hr": { | |||||
| tag: "hr", | |||||
| }, | |||||
| "table": null, | |||||
| "span.title": { | |||||
| tag: "header", | |||||
| attrs: { | |||||
| className: "title", | |||||
| }, | |||||
| extra: setAsTitleIfContainsArticle, | |||||
| }, | |||||
| "span.posted": { | |||||
| tag: "article", | |||||
| attrs: { | |||||
| className: "posted", | |||||
| }, | |||||
| }, | |||||
| } as const; | |||||
| function forEachTextNode(doc: Document, root: Node, cb: (doc: Document, node: Text) => void) { | |||||
| for (const child of root.childNodes) { | |||||
| // text node type === 3 === Node.TEXT_NODE but not available here | |||||
| if (child.nodeType === 3) { | |||||
| cb(doc, child as Text); | |||||
| } else { | |||||
| forEachTextNode(doc, child, cb); | |||||
| } | |||||
| } | |||||
| } | |||||
| async function cleanupFile(fileName: string) { | |||||
| const filePath = path.resolve(".", DUMPS_LOCATION, fileName); | |||||
| const { window } = new jsdom.JSDOM((await fs.readFile(filePath)).toString()); | |||||
| const document = window.document; | |||||
| for (const selector in selectorReplacementMap) { | |||||
| const replacement = selectorReplacementMap[selector]; | |||||
| for (const node of document.querySelectorAll(selector).values()) { | |||||
| if (replacement) { | |||||
| if (replacement.extra?.(document, node)) { | |||||
| continue; | |||||
| } | |||||
| const newNode = replacement.tag | |||||
| ? document.createElement(replacement.tag) | |||||
| : document.createDocumentFragment(); | |||||
| newNode.replaceChildren(...node.childNodes); | |||||
| Object.assign(newNode, { ...replacement.attrs ?? {} }); | |||||
| node.replaceWith(newNode); | |||||
| } else { | |||||
| node.remove(); | |||||
| } | |||||
| } | |||||
| } | |||||
| forEachTextNode(document, document.documentElement, (doc: Document, node: Text) => { | |||||
| if (node.textContent?.match(/\s*=+\s*/)) { | |||||
| node.replaceWith(doc.createElement("hr")); | |||||
| return true; | |||||
| } else if (node.textContent?.includes("REFERENCES")) { | |||||
| node.replaceWith(Object.assign(doc.createElement("h3"), { innerHTML: node.textContent.trim() })); | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| }); | |||||
| deleteChildCommentsRecursive(document.documentElement); | |||||
| fs.writeFile( | |||||
| path.resolve(".", PROCESSED_LOCATION, fileName), | |||||
| document.documentElement.outerHTML.replaceAll(/�/g, '"'), | |||||
| ); | |||||
| } | |||||
| async function cleanup() { | |||||
| const promises: Promise<unknown>[] = []; | |||||
| for (const fileName of await fs.readdir(path.resolve(".", "article-dumps"))) { | |||||
| promises.push(cleanupFile(fileName)); | |||||
| } | |||||
| await Promise.allSettled(promises); | |||||
| } | |||||
| cleanup(); | |||||
| @@ -2,15 +2,19 @@ import { CompilerOptions, transpile, TranspileOptions } from "jsr:@deno/emit"; | |||||
| import denoJson from "./deno.json" with { type: "json" }; | import denoJson from "./deno.json" with { type: "json" }; | ||||
| const contentTypes = { | const contentTypes = { | ||||
| 'js': "application/javascript; charset=utf-8", | |||||
| "js": "application/javascript; charset=utf-8", | |||||
| // https://github.com/denoland/deno_ast/blob/ea1ccec37e1aa8e5e1e70f983a7ed1472d0e132a/src/media_type.rs#L117 | // https://github.com/denoland/deno_ast/blob/ea1ccec37e1aa8e5e1e70f983a7ed1472d0e132a/src/media_type.rs#L117 | ||||
| 'ts': "text/typescript; charset=utf-8", | |||||
| 'jsx': "text/jsx; charset=utf-8", | |||||
| 'tsx': "text/tsx; charset=utf-8", | |||||
| "ts": "text/typescript; charset=utf-8", | |||||
| "jsx": "text/jsx; charset=utf-8", | |||||
| "tsx": "text/tsx; charset=utf-8", | |||||
| } as const; | } as const; | ||||
| const transpileOptions = (extension: keyof typeof contentTypes, tsCode: string, targetUrlStr: string): TranspileOptions => ({ | |||||
| const transpileOptions = ( | |||||
| extension: keyof typeof contentTypes, | |||||
| tsCode: string, | |||||
| targetUrlStr: string, | |||||
| ): TranspileOptions => ({ | |||||
| importMap: { | importMap: { | ||||
| imports: denoJson.imports, | imports: denoJson.imports, | ||||
| }, | }, | ||||
| @@ -21,16 +25,20 @@ const transpileOptions = (extension: keyof typeof contentTypes, tsCode: string, | |||||
| kind: "module", | kind: "module", | ||||
| specifier, | specifier, | ||||
| content: correctContent ? tsCode : "", | content: correctContent ? tsCode : "", | ||||
| headers: { "content-type": contentTypes[correctContent ? extension : 'js'] }, | |||||
| headers: { "content-type": contentTypes[correctContent ? extension : "js"] }, | |||||
| }); | }); | ||||
| }, | }, | ||||
| }); | }); | ||||
| export default async function transpileResponse(response: Response, requestUrl: string, filepath?: string): Promise<Response> { | |||||
| const url = new URL(`ts-serve:///${ requestUrl }`); | |||||
| export default async function transpileResponse( | |||||
| response: Response, | |||||
| requestUrl: string, | |||||
| filepath?: string, | |||||
| ): Promise<Response> { | |||||
| const url = new URL(`ts-serve:///${requestUrl}`); | |||||
| const pathname = filepath !== undefined ? filepath : url.pathname; | const pathname = filepath !== undefined ? filepath : url.pathname; | ||||
| const extension = pathname.split('.').at(-1) ?? ''; | |||||
| if (response.status === 200 && (extension === 'ts' || extension === 'tsx' || extension === 'jsx')) { | |||||
| const extension = pathname.split(".").at(-1) ?? ""; | |||||
| if (response.status === 200 && (extension === "ts" || extension === "tsx" || extension === "jsx")) { | |||||
| const tsCode = await response.text(); | const tsCode = await response.text(); | ||||
| const targetUrlStr = url.toString(); | const targetUrlStr = url.toString(); | ||||
| try { | try { | ||||
| @@ -44,9 +52,9 @@ export default async function transpileResponse(response: Response, requestUrl: | |||||
| headers: response.headers, | headers: response.headers, | ||||
| }); | }); | ||||
| } catch (e) { | } catch (e) { | ||||
| console.error('[transpileResponse]: Error transpiling!\n', e); | |||||
| if (typeof e === 'string') { | |||||
| return new Response('Internal Server Error', { | |||||
| console.error("[transpileResponse]: Error transpiling!\n", e); | |||||
| if (typeof e === "string") { | |||||
| return new Response("Internal Server Error", { | |||||
| status: 500, | status: 500, | ||||
| headers: response.headers, | headers: response.headers, | ||||
| }); | }); | ||||