Skip to content

Instantly share code, notes, and snippets.

@MrModest
Last active February 26, 2023 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrModest/3f178d3d0079bfc2fd68021fa3bcb033 to your computer and use it in GitHub Desktop.
Save MrModest/3f178d3d0079bfc2fd68021fa3bcb033 to your computer and use it in GitHub Desktop.
Template for Anki: German nouns - Deutsch Nomen
<!--
Fields: Übersetzung; Artikel; Nomen; Plural; Beispiel
-->
{{FrontSide}} <!-- {{Übersetzung}} -->
<hr id=answer>
<span class="{{Artikel}}"><b>{{Artikel}}</b> {{Nomen}}</span>
<br /><br />
<span id="pl-block">
<b>Pl.:</b> <span id="pl-article">die</span> <span id="pl-word">{{Plural}}</span>
</span>
<hr>
<span id="example-block">{{Beispiel}}</span>
<!-- Script -->
<script>
function color(str) {
return `<em class="adjusted">${str}</em>`
}
function highlight() {
const pluralEl = document.getElementById("pl-word");
const pluralArtilcleEl = document.getElementById("pl-article");
const plural = "{{Plural}}";
const nomen = "{{Nomen}}"
const example = "{{Beispiel}}"
let adjustedPlural = ""
for (let i = 0; i < plural.length; i++) {
const char = plural[i] === nomen[i]
? plural[i]
: color(plural[i])
adjustedPlural = adjustedPlural + char
}
if (adjustedPlural != plural) {
pluralEl.innerHTML = adjustedPlural;
} else {
pluralArtilcleEl.innerHTML = '<em class="adjusted">die</em>'
}
if (plural === ""){
document.getElementById("pl-block").style.display = "none";
}
if (example !== "") {
const replacePatter = `${nomen}|${plural}`
const regexp = new RegExp(`\\b(${replacePatter})\\b`, "g")
const adjustedExample = example.replace(regexp, color("$&"))
document.getElementById("example-block").innerHTML = adjustedExample
}
}
highlight()
</script>
<!-- Style -->
<style>
.card {
font-family: arial;
font-size: 20px;
text-align: left;
color: black;
background-color: white;
background-color: #ff0000;
}
.der, .die, .das {
padding: 5px;
}
.der {
background-color: rgb(27, 122, 223);
}
.die {
background-color: #ff25fc;
}
.das {
background-color: gray;
}
.adjusted {
color: orange;
}
</style>
@MrModest
Copy link
Author

image

image

image

image

@MrModest
Copy link
Author

Reverse card template

{{FrontSide}} <!-- <span class="{{Artikel}}"><b>{{Artikel}}</b> {{Nomen}}</span> -->

<hr id=answer>

{{Übersetzung}}

<br /><br /><hr>

<span id="pl-block">
  <b>Pl.:</b> <span id="pl-article">die</span> <span id="pl-word">{{Plural}}</span>
</span>

<hr>

<span id="example-block">{{Beispiel}}</span>

<!-- Script -->

<script>
  function color(str) {
    return `<em class="adjusted">${str}</em>`
  }

  function highlight() {
    const pluralEl = document.getElementById("pl-word");
    const pluralArtilcleEl = document.getElementById("pl-article");

    const plural  = "{{Plural}}";
    const nomen = "{{Nomen}}"
    const example = "{{Beispiel}}"

    let adjustedPlural = ""
    for (let i = 0; i < plural.length; i++) {
      const char = plural[i] === nomen[i] 
        ? plural[i] 
        : color(plural[i])

      adjustedPlural = adjustedPlural + char
    }

    if (adjustedPlural != plural) {
      pluralEl.innerHTML = adjustedPlural;
    } else {
      pluralArtilcleEl.innerHTML = '<em class="adjusted">die</em>'
    }

    if (plural === ""){
      document.getElementById("pl-block").style.display = "none";
    }

    if (example !== "") {
      const replacePatter = `${nomen}|${plural}`
      const regexp = new RegExp(`\\b(${replacePatter})\\b`, "g")
      const adjustedExample = example.replace(regexp, color("$&"))

      document.getElementById("example-block").innerHTML = adjustedExample
    }
  }

  highlight()
</script>

@MrModest
Copy link
Author

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment