diff --git a/src/conversion/compiler/dataview.ts b/src/conversion/compiler/dataview.ts index 7316488f..4e7da9cc 100644 --- a/src/conversion/compiler/dataview.ts +++ b/src/conversion/compiler/dataview.ts @@ -36,6 +36,7 @@ export async function convertDataviewQueries( properties: MultiProperties, ): Promise { const plugin = properties.plugin; + const app = plugin.app; const settings = plugin.settings; let replacedText = text; const dataViewRegex = /```dataview\s(.+?)```/gsm; @@ -201,7 +202,7 @@ async function convertDataviewLinks( sourceFile, frontmatter, properties - ); + ); return convertWikilinks( md, properties.frontmatter.general, diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 5fc2b468..9e04813a 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -165,7 +165,7 @@ "settings": { "conversion": { "dataview": { - "desc": "Convert dataview to markdown. Only works if Dataview is enabled.", + "desc": "Convert Dataview queries to markdown. \nOnly works if Dataview and internal link conversion are enabled.", "title": "Dataview" }, "desc": "Theses option won't change the content of the file in your Obsidian Vault, but will change the content of the file in GitHub.", @@ -180,6 +180,7 @@ "title": "Folder note" }, "internals": { + "dataview": "Mandatory if you want to convert links in dataview blocks!", "desc": "Convert internal links to their counterpart in the repository, with relative path.", "shareAll": "Includes all links for the \"share all\" settings, as it impossible without frontmatter to know the sharing state of a file.", "title": "Internals links" @@ -452,7 +453,7 @@ "plugin": { "copyLink": { "applyRegex": { - "desc": "Encapsulate with \"//\" to use regexes", + "desc": "Encapsulate between \"/\" to use regexes (ie: /regex/).", "title": "Add a text transformation to the URL" }, "baselink": { @@ -545,7 +546,7 @@ }, "invalidRegex": "An error has occurred: {{- e}}", "modal": { - "desc": "Replace text in the file with the given value. Enclose the text with \"//\" to use regex.", + "desc": "Replace text in the file with the given value. Enclose the text between \"/\" to use regex (ie: /regex/).", "force": "Force push", "keywords": "Keywords", "name": "Use {{name}} to use the filename.", @@ -584,7 +585,7 @@ "title": "Property key" }, "regexFilePathTitle": { - "desc": "If the text is between \"//\", it will be used as a regex. Otherwise, it will be used as a string.", + "desc": "If the text is between \"/\" (ie: /regex/), it will be used as a regex. Otherwise, it will be used as a string.", "title": { "FolderPathTitle": "Apply edit on the folder path or the filename (automatically)", "titleOnly": "Apply edit on the filename (automatically)" diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 320200d6..726f0ec3 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -165,7 +165,7 @@ "settings": { "conversion": { "dataview": { - "desc": "Convertir les requêtes Dataview en markdown. Ne fonctionne que si Dataview est activé.", + "desc": "Convertir les requêtes Dataview en markdown. Ne fonctionne que si Dataview et la conversion des liens internes sont activés.", "title": "Dataview" }, "desc": "Ces options ne changent pas le contenu du fichier dans votre coffre Obsidian, mais changeront le contenu du fichier publié sur GitHub.", @@ -180,6 +180,7 @@ "title": "Folder Note" }, "internals": { + "dataview": "Obligatoire si vous voulez convertir les liens dans les blocs dataview !", "desc": "Convertir les liens internes pointant vers les notes publiées vers leur homologue dans le dépôt, sous forme de chemin relatif.", "shareAll": "Inclut tous les liens pour les paramètres \"partager tout\", car il est impossible sans frontmatter de connaître l'état de partage d'un fichier.", "title": "Liens internes" @@ -452,7 +453,7 @@ "plugin": { "copyLink": { "applyRegex": { - "desc": "Encapsuler avec \"//\" pour utiliser les expressions rationnelles", + "desc": "Encapsuler entre \"/\" pour utiliser les expressions rationnelles (ie: /regex/).", "title": "Ajouter une transformation de texte à l'URL" }, "baselink": { @@ -495,7 +496,7 @@ "title": "Afficher les éditions sur le dépôt" }, "excludedFolder": { - "desc": "Les fichiers dans ses dossiers ne seront jamais publiés, quelle que soit l'état de la clé de partage. Séparez les noms de dossier par une virgule. Les regex sont supportés en les encadrant par \"//\"", + "desc": "Les fichiers dans ses dossiers ne seront jamais publiés, quelle que soit l'état de la clé de partage. Séparez les noms de dossier par une virgule. Les regex sont supportés en les encadrant entre \"/\" (ie : /regex/).", "title": "Dossiers exclus" }, "fileMenu": { @@ -545,7 +546,7 @@ }, "invalidRegex": "Une erreur est survenue : {{- e}}", "modal": { - "desc": "Replace des textes dans le fichier par la valeur donnée. Vous pouvez encadrer le texte à remplacer avec \"//\" pour utiliser un regex.", + "desc": "Replace des textes dans le fichier par la valeur donnée. Vous pouvez encadrer le texte à remplacer avec \"/\" (ie : /regex/) pour utiliser un regex.", "force": "Forcer l'envoi", "keywords": "Mots clés", "name": "Utiliser {{name}} pour utiliser le nom du fichier.", @@ -584,7 +585,7 @@ "title": "Clé de propriété" }, "regexFilePathTitle": { - "desc": "Si le texte est entre \"//\", il sera interprété comme une expression régulière. Sinon, il sera interprété comme du texte brut.", + "desc": "Si le texte est entre \"/\" (ie : /regex/), il sera interprété comme une expression régulière. Sinon, il sera interprété comme du texte brut.", "title": { "FolderPathTitle": "Éditer le titre et le chemin du dossier (automatiquement)", "titleOnly": "Éditer le titre (automatiquement)" diff --git a/src/settings.ts b/src/settings.ts index 26542412..499a9309 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -679,12 +679,13 @@ export class GithubPublisherSettingsTab extends PluginSettingTab { }); const shareAll = this.settings.plugin.shareAll?.enable ? ` ${i18next.t("settings.conversion.links.internals.shareAll")}` : ""; + const internalLinksDesc = document.createDocumentFragment(); + internalLinksDesc.createEl("p", {text: i18next.t("settings.conversion.links.internals.desc") + shareAll, cls: "no-margin"}); + internalLinksDesc.createEl("p", {text: i18next.t("settings.conversion.links.internals.dataview"), cls: "no-margin"}); new Setting(this.settingsPage) .setName(i18next.t("settings.conversion.links.internals.title")) - .setDesc( - i18next.t("settings.conversion.links.internals.desc") + shareAll - ) + .setDesc(internalLinksDesc) .addToggle((toggle) => { toggle .setValue(textSettings.links.internal) @@ -773,8 +774,8 @@ export class GithubPublisherSettingsTab extends PluginSettingTab { .setDesc(i18next.t("settings.conversion.dataview.desc")) .addToggle((toggle) => { toggle - .setValue(textSettings.dataview && isDataviewEnabled) - .setDisabled(!isDataviewEnabled) + .setValue(textSettings.dataview && isDataviewEnabled && textSettings.links.internal) + .setDisabled(!isDataviewEnabled || !textSettings.links.internal) .onChange(async (value) => { textSettings.dataview = value; await this.plugin.saveSettings(); diff --git a/src/styles.css b/src/styles.css index f0a36ae8..e67f3013 100644 --- a/src/styles.css +++ b/src/styles.css @@ -29,6 +29,10 @@ hr.github-publisher-hr { opacity: 0.1; } +.github-publisher .no-margin { + margin: 0; +} + /* --------- EXPORT IMPORT --------- */ .github-publisher .setting-item.import-export {