Skip to content

Commit 818d612

Browse files
committed
fix: use best practices according to obsidian
1 parent dc345c8 commit 818d612

File tree

2 files changed

+45
-25
lines changed

2 files changed

+45
-25
lines changed

main.ts

+35-25
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ export default class SimpleFlashcardsPlugin extends Plugin {
2424
.split("\n")
2525
.filter((line) => line.length > 0);
2626

27-
const flashcardContainer = el.createEl("div", {
27+
const flashcardContainer = el.createDiv({
2828
cls: "flashcard-container",
2929
});
3030

31-
const flashcardEl = flashcardContainer.createEl("div", {
31+
const flashcardEl = flashcardContainer.createDiv({
3232
cls: "flashcard",
3333
});
34-
const frontFace = flashcardEl.createEl("div", {
34+
const frontFace = flashcardEl.createDiv({
3535
cls: "flashcard-face flashcard-face--front",
3636
});
37-
const backFace = flashcardEl.createEl("div", {
37+
const backFace = flashcardEl.createDiv({
3838
cls: "flashcard-face flashcard-face--back",
3939
});
4040

@@ -61,56 +61,67 @@ export default class SimpleFlashcardsPlugin extends Plugin {
6161
const question = questionParts.join(" ");
6262
const answer = answerParts.join(" \n");
6363

64-
frontFace.innerHTML = await marked(question, {
65-
async: true,
66-
});
67-
backFace.innerHTML = await marked(answer, { async: true });
64+
frontFace.insertAdjacentHTML(
65+
"afterbegin",
66+
await marked(question, { async: true })
67+
);
68+
backFace.insertAdjacentHTML(
69+
"afterbegin",
70+
await marked(answer, { async: true })
71+
);
6872
} else {
6973
let frontContent = lines.join(" ");
7074
let backContent = lines.join(" ");
7175

7276
frontContent = this.getClozeFront(frontContent);
7377
backContent = this.getClozeBack(backContent);
7478

75-
frontFace.innerHTML = await marked(frontContent, {
76-
async: true,
77-
});
78-
const answerContainer = backFace.createEl("div", {
79+
frontFace.insertAdjacentHTML(
80+
"afterbegin",
81+
await marked(frontContent, { async: true })
82+
);
83+
const answerContainer = backFace.createDiv({
7984
cls: "answer-container",
8085
});
81-
answerContainer.innerHTML = await marked(backContent, {
82-
async: true,
83-
gfm: true,
84-
breaks: true,
85-
});
86+
answerContainer.insertAdjacentHTML(
87+
"afterbegin",
88+
await marked(backContent, {
89+
async: true,
90+
gfm: true,
91+
breaks: true,
92+
})
93+
);
8694
}
8795

8896
switch (this.settings.toggleRevealMethod) {
8997
case "hover":
9098
flashcardContainer.addEventListener(
9199
"mouseenter",
92100
() => {
93-
flashcardEl.classList.add("is-flipped");
101+
flashcardEl.addClass("is-flipped");
94102
}
95103
);
96104
flashcardContainer.addEventListener(
97105
"mouseleave",
98106
() => {
99-
flashcardEl.classList.remove("is-flipped");
107+
flashcardEl.removeClass("is-flipped");
100108
}
101109
);
102110
break;
103111

104112
case "surface-click":
105-
flashcardEl.classList.add("clickable");
113+
flashcardEl.addClass("clickable");
106114
flashcardContainer.addEventListener(
107115
"click",
108116
(event) => {
109117
//@ts-ignore
110118
if (event.target.closest("img")) {
111119
event.stopPropagation();
112120
} else {
113-
flashcardEl.classList.toggle("is-flipped");
121+
flashcardEl.toggleClass(
122+
"is-flipped",
123+
!flashcardEl.hasClass("is-flipped")
124+
);
114125
}
115126
}
116127
);
@@ -123,15 +134,15 @@ export default class SimpleFlashcardsPlugin extends Plugin {
123134
text: "Reveal",
124135
});
125136
revealButton.addEventListener("click", () => {
126-
flashcardEl.classList.add("is-flipped");
137+
flashcardEl.addClass("is-flipped");
127138
});
128139

129140
const hideButton = backFace.createEl("button", {
130141
cls: "flashcard-button",
131142
text: "Hide",
132143
});
133144
hideButton.addEventListener("click", () => {
134-
flashcardEl.classList.remove("is-flipped");
145+
flashcardEl.removeClass("is-flipped");
135146
});
136147
break;
137148
}
@@ -196,8 +207,7 @@ export default class SimpleFlashcardsPlugin extends Plugin {
196207
const backHeight = backFace ? backFace.scrollHeight : 0;
197208

198209
const maxHeight = Math.max(frontHeight, backHeight);
199-
//@ts-ignore
200-
flashcard.style.height = maxHeight + "px";
210+
flashcard.addClass(`height-${maxHeight}`);
201211
});
202212
}
203213
}

styles.css

+10
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,13 @@
8585
.flashcard-button:hover {
8686
opacity: 1;
8787
}
88+
89+
.flashcard.height-100 {
90+
height: 100px;
91+
}
92+
.flashcard.height-200 {
93+
height: 200px;
94+
}
95+
.flashcard.height-300 {
96+
height: 300px;
97+
}

0 commit comments

Comments
 (0)