Merge pull request #644 from estruyf/dev

This commit is contained in:
Elio Struyf
2023-08-31 09:36:30 +02:00
committed by GitHub
29 changed files with 667 additions and 179 deletions
+2
View File
@@ -5,6 +5,7 @@ src/**
.gitignore
vsc-extension-quickstart.md
**/tsconfig.json
**/tsconfig.e2e.json
**/*.map
**/*.ts
webpack.config.js
@@ -28,3 +29,4 @@ webpack
README.beta.md
e2e
storage
pnpm-lock.yaml
+21
View File
@@ -1,5 +1,26 @@
# Change Log
## [9.1.0] - 2023-08-31
### ✨ New features
- [#630](https://github.com/estruyf/vscode-front-matter/issues/630): Italian localization added (thanks to [Emanuele Bartolesi](https://github.com/kasuken))
### ⚡️ Optimizations
- [#639](https://github.com/estruyf/vscode-front-matter/issues/639): Add check for content type in page folders setting
- [#642](https://github.com/estruyf/vscode-front-matter/issues/642): Store the search index in a storage file
### 🐞 Fixes
- [#628](https://github.com/estruyf/vscode-front-matter/issues/628): Fix path argument and JSON data on custom scripts
- [#633](https://github.com/estruyf/vscode-front-matter/issues/633): Fix custom taxonomy used as single value
- [#634](https://github.com/estruyf/vscode-front-matter/issues/634): Fix public folder processing in case of Hexo
- [#635](https://github.com/estruyf/vscode-front-matter/issues/635): Fix UI themes make some links hard to discover or see
- [#636](https://github.com/estruyf/vscode-front-matter/issues/636): Fix media browser lightbox background color
- [#641](https://github.com/estruyf/vscode-front-matter/issues/641): Fix file parsing of the localization file
## [9.0.0] - 2023-08-21 - [Release notes](https://beta.frontmatter.codes/updates/v9.0.0)
### 🌎 Multilingual support
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

+1
View File
@@ -1,5 +1,6 @@
{
"$schema": "https://beta.frontmatter.codes/frontmatter.schema.json",
"frontMatter.snippets.wrapper.enabled": false,
"frontMatter.framework.id": "other",
"frontMatter.content.publicFolder": "",
"frontMatter.content.pageFolders": [
+422
View File
@@ -0,0 +1,422 @@
{
"common.add":"Aggiungi",
"common.edit":"Modifica",
"common.delete":"Elimina",
"common.cancel":"Annulla",
"common.clear":"Pulisci",
"common.clear.value":"Pulisci valore",
"common.search":"Ricerca",
"common.save":"Salva",
"common.menu":"Menu",
"common.insert":"Inserisci",
"common.insert.snippet":"Inserisci snippet",
"common.title":"Titolo",
"common.description":"Descrizione",
"common.retry":"Riprova",
"common.update":"Aggiorna",
"common.information":"Informazioni",
"common.important":"Importante",
"common.sync":"Sincronizza",
"common.slug":"Slug",
"common.support":"Supporto",
"common.remove.value":"Rimuovi {0}",
"common.error.message":"Siamo spiacenti, qualcosa è andato storto.",
"developer.title":"Modalità sviluppatore",
"developer.reload.title":"Ricarica la dashboard",
"developer.reload.label":"Ricarica",
"developer.devTools.title":"Apri DevTools",
"developer.devTools.label":"DevTools",
"field.required":"Campo obbligatorio",
"field.unknown":"Campo sconosciuto",
"dashboard.chatbot.answer.answer":"Risposta",
"dashboard.chatbot.answer.resources":"Risorse",
"dashboard.chatbot.answer.warning":"Attenzione: Answers potrebbe sbagliarsi. In caso di dubbio, si prega di consultare la documentazione.",
"dashboard.chatbot.chatbot.loading":"L'assistente si sta preparando",
"dashboard.chatbot.chatbot.ready":"Sono pronto, cosa vuoi sapere?",
"dashboard.chatbot.chatbox.placeholder":"Come posso configurare Front Matter?",
"dashboard.chatbot.header.heading":"Chiedi a Front Matter AI",
"dashboard.chatbot.header.description":"La nostra intelligenza artificiale, alimentata da mendable.ai, ha elaborato la documentazione e può assisterti con qualsiasi domanda relativa a Front Matter. Vai avanti e chiedi!",
"dashboard.common.choiceButton.open":"Apri opzioni",
"dashboard.contents.contentActions.actionMenuButton.title":"Menu",
"dashboard.contents.contentActions.menuItem.view":"Vista",
"dashboard.contents.contentActions.alert.title":"Elimina: {0}",
"dashboard.contents.contentActions.alert.description":"Sei sicuro di voler eliminare il contenuto \"{0}\"?",
"dashboard.contents.item.invalidTitle":"<titolo non valido>",
"dashboard.contents.item.invalidDescription":"<Descrizione non valida>",
"dashboard.contents.list.title":"Titolo",
"dashboard.contents.list.date":"Data",
"dashboard.contents.list.status":"Stato",
"dashboard.contents.overview.noMarkdown":"Nessun markdown da mostrare",
"dashboard.contents.overview.noFolders":"Assicurati di aver registrato una cartella di contenuti nel tuo progetto per consentire a Front Matter di trovare il contenuto.",
"dashboard.contents.status.draft":"Bozza",
"dashboard.contents.status.published":"Pubblicato",
"dashboard.dataView.dataForm.modify":"Modificare i dati",
"dashboard.dataView.dataForm.add":"Aggiungere nuovi dati",
"dashboard.dataView.dataView.select":"Seleziona il tuo tipo di dati",
"dashboard.dataView.dataView.title":"I tuoi {0} elementi di dati",
"dashboard.dataView.dataView.add":"Aggiungere una nuova voce",
"dashboard.dataView.dataView.empty":"Nessuna voce di dati {0} trovata",
"dashboard.dataView.dataView.createOrModify":"Creare o modificare i dati {0}",
"dashboard.dataView.dataView.getStarted":"Seleziona un tipo di dati per iniziare",
"dashboard.dataView.dataView.noDataFiles":"Nessun file di dati trovato",
"dashboard.dataView.dataView.getStarted.link":"Ulteriori informazioni per iniziare a utilizzare i file di dati",
"dashboard.dataView.emptyView.heading":"Seleziona prima il tipo di data",
"dashboard.dataView.sortableItem.editButton.title":"Modifica \"{0}\"",
"dashboard.dataView.sortableItem.deleteButton.title":"Elimina \"{0}\"",
"dashboard.dataView.sortableItem.alert.title":"Eliminare l'immissione dei dati",
"dashboard.dataView.sortableItem.alert.description":"Sei sicuro di voler cancellare l'inserimento dei dati?",
"dashboard.errorView.description":"Chiudere la dashboard e riprovare.",
"dashboard.header.breadcrumb.home":"Home",
"dashboard.header.clearFilters.title":"Rimuovi filtri, raggruppamento e ordinamento",
"dashboard.header.filter.default":"Nessun filtro",
"dashboard.header.folders.default":"Tutti i tipi",
"dashboard.header.folders.menuButton.showing":"Risultati",
"dashboard.header.grouping.option.none":"Nessuno",
"dashboard.header.grouping.option.year":"Anno",
"dashboard.header.grouping.option.draft":"Bozza/Pubblicato",
"dashboard.header.grouping.menuButton.label":"Raggruppa per",
"dashboard.header.navigation.allArticles":"Tutti gli articoli",
"dashboard.header.navigation.published":"Pubblicato",
"dashboard.header.navigation.draft":"In bozza",
"dashboard.header.header.createContent":"Creare contenuti",
"dashboard.header.header.createByContentType":"Crea per tipo di contenuto",
"dashboard.header.header.createByTemplate":"Crea da modello",
"dashboard.header.pagination.first":"Primo",
"dashboard.header.pagination.previous":"Precedente",
"dashboard.header.pagination.next":"Prossimo",
"dashboard.header.pagination.last":"Ultimo",
"dashboard.header.paginationStatus.text":"Visualizzazione {0} a {1} di {2} risultati",
"dashboard.header.projectSwitcher.label":"progetto",
"dashboard.header.refreshDashboard.label":"Aggiorna dashboard",
"dashboard.header.sorting.lastModified.asc":"Ultima modifica (asc)",
"dashboard.header.sorting.lastModified.desc":"Ultima modifica (desc)",
"dashboard.header.sorting.filename.asc":"Per nome file (asc)",
"dashboard.header.sorting.filename.desc":"Per nome file (desc)",
"dashboard.header.sorting.published.asc":"Pubblicato (asc)",
"dashboard.header.sorting.published.desc":"Pubblicato (desc)",
"dashboard.header.sorting.size.asc":"Dimensione (asc)",
"dashboard.header.sorting.size.desc":"Dimensioni (desc)",
"dashboard.header.sorting.caption.asc":"Didascalia (asc)",
"dashboard.header.sorting.caption.desc":"Didascalia (desc)",
"dashboard.header.sorting.alt.asc":"Alt (asc)",
"dashboard.header.sorting.alt.desc":"Alt (desc)",
"dashboard.header.sorting.label":"Ordina per",
"dashboard.header.startup.label":"Aprire all'avvio?",
"dashboard.header.tabs.contents":"Contenuto",
"dashboard.header.tabs.media":"Media",
"dashboard.header.tabs.snippets":"Snippets",
"dashboard.header.tabs.data":"dati",
"dashboard.header.tabs.taxonomies":"Tassonomie",
"dashboard.header.viewSwitch.toGrid":"Passa alla griglia",
"dashboard.header.viewSwitch.toList":"Passa all'elenco",
"dashboard.layout.sponsor.support.msg":"Supporto Front Matter",
"dashboard.layout.sponsor.review.label":"Recensisci",
"dashboard.layout.sponsor.review.msg":"Recensisci Front Matter",
"dashboard.media.common.title":"Titolo",
"dashboard.media.common.caption":"Didascalia",
"dashboard.media.common.alt":"Testo alternativo",
"dashboard.media.common.size":"Dimensioni",
"dashboard.media.dialog.title":"Visualizza dettagli",
"dashboard.media.panel.close":"Chiudi pannello",
"dashboard.media.metadata.panel.title":"Aggiornare i metadati",
"dashboard.media.metadata.panel.description":"Specificare i metadati che si desidera impostare per il file.",
"dashboard.media.metadata.panel.field.fileName":"Filename",
"dashboard.media.metadata.panel.form.metadata.title":"Metadati",
"dashboard.media.metadata.panel.form.information.title":"Informazione",
"dashboard.media.metadata.panel.form.information.createdDate":"Creato",
"dashboard.media.metadata.panel.form.information.modifiedDate":"Ultima modifica",
"dashboard.media.metadata.panel.form.information.dimensions":"Dimensioni",
"dashboard.media.metadata.panel.form.information.folder":"Cartella",
"dashboard.media.folderCreation.hexo.create":"Creare una cartella di risorse",
"dashboard.media.folderCreation.folder.create":"Crea nuova cartella",
"dashboard.media.item.quickAction.insert.field":"Inserisci immagine per il campo \"{0}\"",
"dashboard.media.item.quickAction.insert.markdown":"Inserisci immagine con markup markdown",
"dashboard.media.item.quickAction.copy.path":"Copia percorso",
"dashboard.media.item.quickAction.delete":"Elimina file multimediale",
"dashboard.media.item.menuItem.edit.metadata":"Modificare i metadati",
"dashboard.media.item.menuItem.insert.image":"Inserisci immagine",
"dashboard.media.item.menuItem.reveal.media":"Rivela i media",
"dashboard.media.item.infoDialog.snippet.description":"Seleziona lo snippet del file multimediale da utilizzare per il file multimediale corrente.",
"dashboard.media.item.alert.delete.description":"Eliminare il file dalla cartella {0}?",
"dashboard.media.media.description":"Selezionare il file multimediale da aggiungere al contenuto.",
"dashboard.media.media.dragAndDrop":"Puoi anche trascinare e rilasciare le immagini dal desktop e selezionarle una volta caricate.",
"dashboard.media.media.folder.upload":"Carica su {0}",
"dashboard.media.media.folder.default":"Nessuna cartella selezionata, i file eliminati verranno aggiunti alla cartella {0}",
"dashboard.media.media.placeholder":"Nessun file multimediale da mostrare. Puoi trascinare e rilasciare nuovi file tenendo premuto il tasto [Maiusc].",
"dashboard.media.media.contentFolder":"Cartella dei contenuti",
"dashboard.media.media.publicFolder":"Cartella pubblica",
"dashboard.media.mediaHeaderTop.searchbox.placeholder":"Cerca nella cartella",
"dashboard.media.mediaSnippetForm.formDialog.title":"Inserisci supporto: {0}",
"dashboard.media.mediaSnippetForm.formDialog.description":"Inserire il file multimediale {0} nell'articolo corrente",
"dashboard.preview.input.placeholder":"Inserisci un URL",
"dashboard.preview.button.navigate.title":"Navigare",
"dashboard.preview.button.refresh.title":"Aggiorna",
"dashboard.preview.button.open.title":"Apri",
"dashboard.snippetsView.item.quickAction.editSnippet":"Modifica snippet",
"dashboard.snippetsView.item.quickAction.deleteSnippet":"Eliminare snippet",
"dashboard.snippetsView.item.quickAction.viewSnippet":"Visualizza file di frammento",
"dashboard.snippetsView.item.insert.formDialog.title":"Inserisci frammento: {0}",
"dashboard.snippetsView.item.insert.formDialog.description":"Inserisci il frammento di {0} nell'articolo corrente",
"dashboard.snippetsView.item.edit.formDialog.title":"Modifica Snippet: {0}",
"dashboard.snippetsView.item.edit.formDialog.description":"Modificare lo snippet {0}",
"dashboard.snippetsView.item.alert.title":"Elimina snippet: {0}",
"dashboard.snippetsView.item.alert.description":"Sei sicuro di voler eliminare lo snippet {0}?",
"dashboard.snippetsView.newForm.snippetInput.title.placeholder":"Titolo dello snippet",
"dashboard.snippetsView.newForm.snippetInput.description.label":"Descrizione",
"dashboard.snippetsView.newForm.snippetInput.description.placeholder":"Descrizione dello snippet",
"dashboard.snippetsView.newForm.snippetInput.snippet.label":"Snippet",
"dashboard.snippetsView.newForm.snippetInput.snippet.placeholder":"Contenuto dello snippet",
"dashboard.snippetsView.newForm.snippetInput.isMediaSnippet.label":"È uno snippet multimediale?",
"dashboard.snippetsView.newForm.snippetInput.isMediaSnippet.checkbox.label":"Snippet multimediale",
"dashboard.snippetsView.newForm.snippetInput.isMediaSnippet.checkbox.description":"Utilizzare lo snippet corrente per inserire file multimediali nel contenuto.",
"dashboard.snippetsView.newForm.snippetInput.docsButton.title":"Ulteriori informazioni sull'uso dei segnaposto degli snippet multimediali",
"dashboard.snippetsView.newForm.snippetInput.docsButton.description":"Consulta la nostra documentazione dei segnaposto degli snippet multimediali per sapere quali segnaposto puoi usare.",
"dashboard.snippetsView.snippets.ariaLabel":"Intestazione Snippets",
"dashboard.snippetsView.snippets.button.create":"Creare un nuovo snippet",
"dashboard.snippetsView.snippets.select.description":"Seleziona lo snippet da aggiungere ai tuoi contenuti.",
"dashboard.snippetsView.snippets.empty.message":"Nessun Snippet trovato",
"dashboard.snippetsView.snippets.readMore":"Scopri di più per iniziare a usare gli snippet",
"dashboard.snippetsView.snippets.formDialog.title":"Creare uno snippet",
"dashboard.steps.stepsToGetStarted.button.addFolder.title":"Aggiungi come cartella di contenuti a Front Matter",
"dashboard.steps.stepsToGetStarted.initializeProject.name":"Inizializzare il progetto",
"dashboard.steps.stepsToGetStarted.initializeProject.description":"Inizializzare il progetto creerà i file e le cartelle necessari per l'utilizzo del CMS Front Matter. Inizia facendo clic su questa azione.",
"dashboard.steps.stepsToGetStarted.framework.name":"Predefiniti del framework",
"dashboard.steps.stepsToGetStarted.framework.description":"Seleziona il generatore di siti o il framework per precompilare alcune delle impostazioni consigliate.",
"dashboard.steps.stepsToGetStarted.framework.select":"Seleziona il tuo framework",
"dashboard.steps.stepsToGetStarted.framework.select.other":"Altro",
"dashboard.steps.stepsToGetStarted.assetsFolder.name":"Qual è la cartella delle risorse?",
"dashboard.steps.stepsToGetStarted.assetsFolder.description":"Seleziona la cartella contenente le tue risorse. Questa cartella verrà utilizzata per archiviare tutti i file multimediali per i tuoi articoli.",
"dashboard.steps.stepsToGetStarted.assetsFolder.public.title":"Utilizzare la cartella 'pubblica'",
"dashboard.steps.stepsToGetStarted.assetsFolder.assets.title":"Utilizzare la cartella Astro assets (src/assets)",
"dashboard.steps.stepsToGetStarted.assetsFolder.other.description":"Nel caso in cui si desideri configurare un'altra cartella, è possibile farlo manualmente nel file frontmatter.json.",
"dashboard.steps.stepsToGetStarted.contentFolders.name":"Registrare le cartelle dei contenuti",
"dashboard.steps.stepsToGetStarted.contentFolders.description":"Aggiungi una delle cartelle che abbiamo trovato nel tuo progetto come cartella di contenuti. Una volta impostata una cartella, Front Matter può essere utilizzato per elencare tutti i contenuti e consentire di creare contenuti.",
"dashboard.steps.stepsToGetStarted.contentFolders.label":"Cartelle contenenti contenuto:",
"dashboard.steps.stepsToGetStarted.contentFolders.information.description":"È inoltre possibile eseguire questa azione facendo clic con il pulsante destro del mouse sulla cartella nella visualizzazione Esplora risorse e selezionando Registra cartella",
"dashboard.steps.stepsToGetStarted.tags.name":"Importa tutti i tag e le categorie (facoltativo)",
"dashboard.steps.stepsToGetStarted.tags.description":"Ora che Front Matter conosce tutte le cartelle dei contenuti. Desideri importare tutti i tag e le categorie dai contenuti disponibili?",
"dashboard.steps.stepsToGetStarted.showDashboard.name":"Mostra il dashboard",
"dashboard.steps.stepsToGetStarted.showDashboard.description":"Una volta completate tutte le azioni, è possibile caricare la dashboard.",
"dashboard.taxonomyView.button.add.title":"Aggiungere {0} alle impostazioni della tassonomia",
"dashboard.taxonomyView.button.edit.title":"Modifica {0}",
"dashboard.taxonomyView.button.merge.title":"Unisci {0}",
"dashboard.taxonomyView.button.move.title":"Passare a un altro tipo di tassonomia",
"dashboard.taxonomyView.button.delete.title":"Elimina {0}",
"dashboard.taxonomyView.taxonomyLookup.button.title":"Mostra contenuti con {0} in {1}",
"dashboard.taxonomyView.taxonomyManager.description":"Crea, modifica e gestisci le {0} del tuo sito",
"dashboard.taxonomyView.taxonomyManager.button.create":"Creare un nuovo valore {0}",
"dashboard.taxonomyView.taxonomyManager.table.heading.name":"Nome",
"dashboard.taxonomyView.taxonomyManager.table.heading.count":"Conteggio",
"dashboard.taxonomyView.taxonomyManager.table.heading.action":"Azione",
"dashboard.taxonomyView.taxonomyManager.table.row.empty":"Nessun {0} trovato",
"dashboard.taxonomyView.taxonomyManager.table.unmapped.title":"Manca nelle impostazioni",
"dashboard.taxonomyView.taxonomyView.navigationBar.title":"Selezionare la tassonomia",
"dashboard.taxonomyView.taxonomyView.button.import":"Tassonomia delle importazioni",
"dashboard.taxonomyView.taxonomyView.navigationItem.tags":"Tag",
"dashboard.taxonomyView.taxonomyView.navigationItem.categories":"Categorie",
"dashboard.unkownView.title":"La vista non esiste",
"dashboard.unkownView.description":"Sembra che tu sia finito su una vista che non esiste. Riapri la dashboard.",
"dashboard.welcomeScreen.title":"Gestisci il tuo sito statico con Front Matter",
"dashboard.welcomeScreen.thanks":"Grazie per aver scelto Front Matter!",
"dashboard.welcomeScreen.description":"Cerchiamo di mirare a rendere Front Matter il più facile da usare possibile, ma se avete domande o suggerimenti. Non esitare a contattarci su GitHub.",
"dashboard.welcomeScreen.link.github.title":"GitHub",
"dashboard.welcomeScreen.link.github.label":"GitHub / Documentazione",
"dashboard.welcomeScreen.link.sponsor.title":"Diventa sponsor",
"dashboard.welcomeScreen.link.sponsor.label":"Sponsor",
"dashboard.welcomeScreen.link.review.title":"Scrivi una recensione",
"dashboard.welcomeScreen.link.review.label":"Recensione",
"dashboard.welcomeScreen.actions.heading":"Esegui i passaggi successivi per iniziare con l'estensione",
"dashboard.welcomeScreen.actions.description":"È inoltre possibile utilizzare l'estensione dal pannello laterale Front Matter. Lì troverai le azioni che puoi eseguire specificamente per le tue pagine.",
"dashboard.welcomeScreen.actions.thanks":"Ci auguriamo che Front Matter vi piaccia!",
"panel.contentType.contentTypeValidator.title":"Tipo di contenuto",
"panel.contentType.contentTypeValidator.hint":"Abbiamo notato differenze di campo tra il tipo di contenuto e i dati della prima questione. \n Si desidera creare, aggiornare o impostare il tipo di contenuto per questo contenuto?",
"panel.contentType.contentTypeValidator.button.create":"Crea tipo di contenuto",
"panel.contentType.contentTypeValidator.button.add":"Aggiungere campi mancanti a content-type",
"panel.contentType.contentTypeValidator.button.change":"Modificare il tipo di contenuto del file",
"panel.dataBlock.dataBlockField.group.selected.edit":"Modifica: {0}",
"panel.dataBlock.dataBlockField.group.selected.create":"Creare una nuova {0}",
"panel.dataBlock.dataBlockField.group.select":"Seleziona un gruppo",
"panel.dataBlock.dataBlockField.add":"Aggiungi {0}",
"panel.dataBlock.dataBlockRecord.edit":"Modifica record",
"panel.dataBlock.dataBlockRecord.delete":"Elimina record",
"panel.dataBlock.dataBlockRecords.label":"Archivio",
"panel.dataBlock.dataBlockSelector.label":"Tipo di blocco",
"panel.errorBoundary.fieldBoundary.label":"Visualizzazione del campo non riuscita",
"panel.fields.choiceField.select":"Seleziona {0}",
"panel.fields.choiceField.clear":"Pulisci valore",
"panel.fields.contentTypeRelationshipField.loading":"Recupero di possibili valori...",
"panel.fields.dateTimeField.button.pick":"Scegli la tua data",
"panel.fields.dateTimeField.time":"Ore:",
"panel.fields.fieldMessage.required":"Il campo {0} è obbligatorio",
"panel.fields.fileField.delete":"Elimina file",
"panel.fields.fileField.add":"Aggiungi il tuo {0}",
"panel.fields.imageFallback.label":"L'immagine non deve essere caricata",
"panel.fields.listField.edit":"Modifica record",
"panel.fields.listField.delete":"Elimina record",
"panel.fields.previewImage.remove":"Rimuovi immagine",
"panel.fields.previewImageField.add":"Aggiungi il tuo {0}",
"panel.fields.slugField.update":"Aggiornamento disponibile",
"panel.fields.slugField.generate":"Genera slug",
"panel.fields.textField.ai.message":"Usa Front Matter AI per suggerire {0}",
"panel.fields.textField.ai.generate":"Genera suggerimenti...",
"panel.fields.textField.loading":"caricamento",
"panel.fields.textField.limit":"Limite di campi raggiunto {0}",
"panel.fields.wrapperField.unknown":"Tipo di campo sconosciuto: {0}",
"panel.actions.title":"Azioni",
"panel.articleDetails.title":"Più dettagli",
"panel.articleDetails.type":"Digitare",
"panel.articleDetails.total":"Totale",
"panel.articleDetails.headings":"Intestazioni",
"panel.articleDetails.paragraphs":"Paragrafi",
"panel.articleDetails.internalLinks":"Collegamenti esterni",
"panel.articleDetails.externalLinks":"Collegamenti esterni",
"panel.articleDetails.images":"Immagini",
"panel.baseView.initialize":"Inizializzare il progetto",
"panel.baseView.actions.title":"Azioni",
"panel.baseView.action.openDashboard":"Apri dashboard",
"panel.baseView.action.openPreview":"Apri anteprima",
"panel.baseView.action.createContent":"Creare contenuti",
"panel.baseView.empty":"Apri un file per visualizzare altre azioni",
"panel.fileList.label.singular":"file",
"panel.fileList.label.plural":"file",
"panel.folderAndFiles.title":"Modifiche recenti",
"panel.globalSettings.title":"Impostazioni globali",
"panel.globalSettings.action.modifiedDate.label":"Data di modifica",
"panel.globalSettings.action.modifiedDate.description":"Aggiornamento automatico della data di modifica",
"panel.globalSettings.action.frontMatter.label":"Evidenziazione di Front Matter",
"panel.globalSettings.action.frontMatter.description":"Highlight Front Matter",
"panel.globalSettings.action.preview.label":"Anteprima locale",
"panel.globalSettings.action.preview.placeholder":"Esempio: {0}",
"panel.globalSettings.action.server.label":"Comando server locale",
"panel.globalSettings.action.server.placeholder":"Esempio: {0}",
"panel.metadata.title":"Metadati",
"panel.otherActions.title":"Altre azioni",
"panel.otherActions.writingSettings.enabled":"Impostazioni di scrittura abilitate",
"panel.otherActions.writingSettings.disabled":"Abilitare le impostazioni di scrittura",
"panel.otherActions.centerMode":"Attiva/disattiva la modalità centrale",
"panel.otherActions.createTemplate":"Crea modello",
"panel.otherActions.revealFile":"Rivela il file nella cartella",
"panel.otherActions.openProject":"Rivela cartella del progetto",
"panel.otherActions.documentation":"Apri la documentazione",
"panel.otherActions.settings":"Panoramica delle impostazioni",
"panel.otherActions.issue":"Segnala un problema",
"panel.preview.title":"Apri anteprima",
"panel.publishAction.publish":"Pubblica",
"panel.publishAction.unpublish":"Tornare alla bozza",
"panel.seoDetails.recommended":"Raccomandato",
"panel.seoKeywordInfo.density":"Utilizzo delle parole chiave {0} *",
"panel.seoKeywordInfo.validInfo.label":"Utilizzato nelle rubriche",
"panel.seoKeywordInfo.validInfo.content":"Contenuto",
"panel.seoKeywords.title":"Parole chiavi",
"panel.seoKeywords.header.keyword":"Parola chiave",
"panel.seoKeywords.header.details":"Dettagli",
"panel.seoKeywords.density":"* Una densità di parole chiave dell'1-1,5% è sufficiente nella maggior parte dei casi.",
"panel.seoStatus.title":"Consigli",
"panel.seoStatus.header.property":"Proprietà",
"panel.seoStatus.header.length":"Lunghezza",
"panel.seoStatus.header.valid":"Valido",
"panel.seoStatus.seoFieldInfo.characters":"{0} caratteri",
"panel.seoStatus.seoFieldInfo.words":"{0} parole",
"panel.seoStatus.seoFieldInfo.article":"Lunghezza dell'articolo",
"panel.seoStatus.collapsible.title":"Stato SEO",
"panel.seoStatus.required":"{0} o {1} è obbligatorio.",
"panel.slugAction.title":"Ottimizza slug",
"panel.spinner.loading":"Caricamento...",
"panel.startServerbutton.start":"Avvia Server",
"panel.startServerbutton.stop":"Arrestare il Server",
"panel.tag.add":"Aggiungi {0} alle tue impostazioni",
"panel.tagPicker.inputPlaceholder.empty":"Scegli il tuo {0}",
"panel.tagPicker.inputPlaceholder.disabled":"Hai raggiunto il limite di {0}",
"panel.tagPicker.ai.suggest":"Usa Front Matter AI per suggerire {0}",
"panel.tagPicker.ai.generating":"Genera suggerimenti...",
"panel.tagPicker.limit":"Max.: {0}",
"panel.tagPicker.unkown":"Aggiungi il tag sconosciuto",
"panel.tags.tag.warning":"Tieni presente che questo tag \"{0}\" non viene salvato nelle tue impostazioni. Una volta rimosso, sarà eliminato per sempre.",
"panel.viewPanel.mediaInsert":"Continuare nella dashboard multimediale per selezionare l'immagine che si desidera inserire."
}
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

+109 -110
View File
@@ -1,12 +1,12 @@
{
"name": "vscode-front-matter-beta",
"version": "9.0.0",
"version": "9.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "vscode-front-matter-beta",
"version": "9.0.0",
"version": "9.1.0",
"license": "MIT",
"devDependencies": {
"@actions/core": "^1.10.0",
@@ -1564,28 +1564,29 @@
"dev": true
},
"node_modules/@vscode/vsce": {
"version": "2.17.0",
"resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.17.0.tgz",
"integrity": "sha512-W4HN5MtTVj/mroQU1d82bUEeWM3dUykMFnMYZPtZ6jrMiHN1PUoN3RGcS896N0r2rIq8KpWDtufcQHgK8VfgpA==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.21.0.tgz",
"integrity": "sha512-KuxYqScqUY/duJbkj9eE2tN2X/WJoGAy54hHtxT3ZBkM6IzrOg7H7CXGUPBxNlmqku2w/cAjOUSrgIHlzz0mbA==",
"dev": true,
"dependencies": {
"azure-devops-node-api": "^11.0.1",
"chalk": "^2.4.2",
"cheerio": "^1.0.0-rc.9",
"commander": "^6.1.0",
"commander": "^6.2.1",
"glob": "^7.0.6",
"hosted-git-info": "^4.0.2",
"jsonc-parser": "^3.2.0",
"leven": "^3.1.0",
"markdown-it": "^12.3.2",
"mime": "^1.3.4",
"minimatch": "^3.0.3",
"parse-semver": "^1.1.1",
"read": "^1.0.7",
"semver": "^5.1.0",
"semver": "^7.5.2",
"tmp": "^0.2.1",
"typed-rest-client": "^1.8.4",
"url-join": "^4.0.1",
"xml2js": "^0.4.23",
"xml2js": "^0.5.0",
"yauzl": "^2.3.1",
"yazl": "^2.2.2"
},
@@ -1620,15 +1621,6 @@
"node": ">=10"
}
},
"node_modules/@vscode/vsce/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/@vscode/webview-ui-toolkit": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/@vscode/webview-ui-toolkit/-/webview-ui-toolkit-0.9.3.tgz",
@@ -3327,9 +3319,10 @@
}
},
"node_modules/cross-spawn/node_modules/semver": {
"version": "5.7.1",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver"
}
@@ -3362,12 +3355,10 @@
}
},
"node_modules/css-loader/node_modules/json5": {
"version": "2.2.0",
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5"
},
"bin": {
"json5": "lib/cli.js"
},
@@ -3376,9 +3367,10 @@
}
},
"node_modules/css-loader/node_modules/loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -5339,12 +5331,10 @@
}
},
"node_modules/html-loader/node_modules/json5": {
"version": "2.1.3",
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5"
},
"bin": {
"json5": "lib/cli.js"
},
@@ -5353,9 +5343,10 @@
}
},
"node_modules/html-loader/node_modules/loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -6318,9 +6309,10 @@
}
},
"node_modules/json5": {
"version": "1.0.1",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.0"
},
@@ -6523,9 +6515,10 @@
}
},
"node_modules/loader-utils": {
"version": "1.4.0",
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -8012,9 +8005,10 @@
}
},
"node_modules/normalize-package-data/node_modules/semver": {
"version": "5.7.1",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"license": "ISC",
"bin": {
"semver": "bin/semver"
}
@@ -8418,9 +8412,9 @@
}
},
"node_modules/parse-semver/node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"bin": {
"semver": "bin/semver"
@@ -10614,9 +10608,9 @@
}
},
"node_modules/semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -11202,12 +11196,10 @@
}
},
"node_modules/style-loader/node_modules/json5": {
"version": "2.2.0",
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5"
},
"bin": {
"json5": "lib/cli.js"
},
@@ -11216,9 +11208,10 @@
}
},
"node_modules/style-loader/node_modules/loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"license": "MIT",
"dependencies": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
@@ -12803,9 +12796,9 @@
"license": "MIT"
},
"node_modules/word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
"engines": {
"node": ">=0.10.0"
@@ -12907,9 +12900,9 @@
}
},
"node_modules/xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
"dev": true,
"dependencies": {
"sax": ">=0.6.0",
@@ -12950,9 +12943,9 @@
"license": "ISC"
},
"node_modules/yaml": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
"integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
"dev": true,
"engines": {
"node": ">= 14"
@@ -14215,17 +14208,18 @@
"dev": true
},
"@vscode/vsce": {
"version": "2.17.0",
"resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.17.0.tgz",
"integrity": "sha512-W4HN5MtTVj/mroQU1d82bUEeWM3dUykMFnMYZPtZ6jrMiHN1PUoN3RGcS896N0r2rIq8KpWDtufcQHgK8VfgpA==",
"version": "2.21.0",
"resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.21.0.tgz",
"integrity": "sha512-KuxYqScqUY/duJbkj9eE2tN2X/WJoGAy54hHtxT3ZBkM6IzrOg7H7CXGUPBxNlmqku2w/cAjOUSrgIHlzz0mbA==",
"dev": true,
"requires": {
"azure-devops-node-api": "^11.0.1",
"chalk": "^2.4.2",
"cheerio": "^1.0.0-rc.9",
"commander": "^6.1.0",
"commander": "^6.2.1",
"glob": "^7.0.6",
"hosted-git-info": "^4.0.2",
"jsonc-parser": "^3.2.0",
"keytar": "^7.7.0",
"leven": "^3.1.0",
"markdown-it": "^12.3.2",
@@ -14233,11 +14227,11 @@
"minimatch": "^3.0.3",
"parse-semver": "^1.1.1",
"read": "^1.0.7",
"semver": "^5.1.0",
"semver": "^7.5.2",
"tmp": "^0.2.1",
"typed-rest-client": "^1.8.4",
"url-join": "^4.0.1",
"xml2js": "^0.4.23",
"xml2js": "^0.5.0",
"yauzl": "^2.3.1",
"yazl": "^2.2.2"
},
@@ -14256,12 +14250,6 @@
"requires": {
"lru-cache": "^6.0.0"
}
},
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
}
}
},
@@ -15498,7 +15486,9 @@
},
"dependencies": {
"semver": {
"version": "5.7.1",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true
}
}
@@ -15520,14 +15510,15 @@
},
"dependencies": {
"json5": {
"version": "2.2.0",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
"loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
@@ -16896,14 +16887,15 @@
}
},
"json5": {
"version": "2.1.3",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
"loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
@@ -17503,7 +17495,9 @@
}
},
"json5": {
"version": "1.0.1",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
@@ -17663,7 +17657,9 @@
"dev": true
},
"loader-utils": {
"version": "1.4.0",
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
"integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
@@ -18620,7 +18616,9 @@
},
"dependencies": {
"semver": {
"version": "5.7.1",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true
}
}
@@ -18880,9 +18878,9 @@
},
"dependencies": {
"semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true
}
}
@@ -20356,9 +20354,9 @@
}
},
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -20773,14 +20771,15 @@
},
"dependencies": {
"json5": {
"version": "2.2.0",
"dev": true,
"requires": {
"minimist": "^1.2.5"
}
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
"loader-utils": {
"version": "2.0.0",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
"integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
@@ -21887,9 +21886,9 @@
"dev": true
},
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true
},
"workerpool": {
@@ -21946,9 +21945,9 @@
"requires": {}
},
"xml2js": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz",
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
"dev": true,
"requires": {
"sax": ">=0.6.0",
@@ -21974,9 +21973,9 @@
"dev": true
},
"yaml": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz",
"integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==",
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
"integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
"dev": true
},
"yaml-js": {
+5 -2
View File
@@ -3,7 +3,7 @@
"displayName": "Front Matter CMS",
"description": "Front Matter is a CMS that runs within Visual Studio Code. It gives you the power and control of a full-blown CMS while also providing you the flexibility and speed of the static site generator of your choice like: Hugo, Jekyll, Docusaurus, NextJs, Gatsby, and many more...",
"icon": "assets/frontmatter-teal-128x128.png",
"version": "9.0.0",
"version": "9.1.0",
"preview": false,
"publisher": "eliostruyf",
"galleryBanner": {
@@ -327,7 +327,10 @@
"scope": "Content"
},
"frontMatter.content.publicFolder": {
"type": ["string", "object"],
"type": [
"string",
"object"
],
"properties": {
"path": {
"type": "string",
+1 -1
View File
@@ -197,7 +197,7 @@ export class Folders {
}
}
return assetFolder;
return assetFolder || '/';
}
/**
@@ -28,14 +28,8 @@ const NavigationItem: React.FunctionComponent<INavigationItemProps> = ({
<button
className={`${isCrntTab
?
getColors(
'border-teal-900 dark:border-teal-300 text-teal-900 dark:text-teal-300',
'border-[var(--vscode-textLink-foreground)] text-[var(--vscode-textLink-foreground)]'
) :
getColors(
`border-transparent text-gray-500 dark:text-whisper-600 hover:text-gray-700 dark:hover:text-whisper-700 hover:border-gray-300 dark:hover:border-whisper-500`,
`border-transparent text-[var(--vscode-tab-inactiveForeground)] hover:text-[var(--vscode-textLink-activeForeground)] hover:border-[var(--vscode-textLink-activeForeground)]`
)
`border-[var(--vscode-textLink-foreground)] text-[var(--vscode-textLink-foreground)]` :
`border-transparent text-[var(--vscode-tab-inactiveForeground)] hover:text-[var(--vscode-textLink-activeForeground)] hover:border-[var(--vscode-textLink-activeForeground)]`
} whitespace-nowrap py-2 px-1 border-b-2 font-medium text-sm`}
aria-current={isCrntTab ? 'page' : undefined}
onClick={onClick}
+5 -15
View File
@@ -18,21 +18,11 @@ export const Tab: React.FunctionComponent<ITabProps> = ({
return (
<button
className={`h-full flex items-center py-2 px-4 text-sm font-medium text-center border-b-2 border-transparent ${
getColors(
'hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300',
'text-[var(--vscode-tab-inactiveForeground)] hover:border-[var(--vscode-list-activeSelectionForeground)] hover:text-[var(--vscode-list-activeSelectionForeground)]'
)
} ${
location.pathname === `/${navigationType}`
? getColors(
'text-vulcan-500 dark:text-whisper-500 border-vulcan-500 dark:border-whisper-500',
'text-[var(--vscode-tab-activeForeground)] border-[var(--vscode-tab-activeForeground)]'
) : getColors(
'text-gray-500 dark:text-gray-400',
'text-[var(--vscode-tab-inactiveForeground)]'
)
}`}
className={`h-full flex items-center py-2 px-4 text-sm font-medium text-center border-b-2 border-transparent hover:border-[var(--vscode-tab-activeForeground)] hover:text-[var(--vscode-tab-activeForeground)] ${location.pathname === `/${navigationType}`
?
`text-[var(--vscode-tab-activeForeground)] border-[var(--vscode-tab-activeForeground)]` :
`text-[var(--vscode-tab-inactiveForeground)]`
}`}
type="button"
role="tab"
aria-controls="profile"
@@ -352,10 +352,14 @@ export const Item: React.FunctionComponent<IItemProps> = ({
const path = media.fsPath;
const extension = path.split('.').pop();
const colors = getColors(`text-gray-300 dark:text-vulcan-200`, `text-[var(--vscode-sideBarTitle-foreground)] opacity-80`);
const colors = `text-[var(--vscode-sideBarTitle-foreground)] opacity-80`;
let icon = <DocumentIcon className={`h-4/6 ${colors}`} />;
if (media.vsPath) {
return null;
}
if (isImageFile) {
return <PhotographIcon className={`h-1/2 ${colors}`} />;
}
@@ -25,7 +25,7 @@ export const Lightbox: React.FunctionComponent<ILightboxProps> = (
onClick={hideLightbox}
className={`fixed top-0 left-0 right-0 bottom-0 w-full h-full flex flex-wrap items-center justify-center z-50 ${getColors(
`bg-black bg-opacity-50`,
`bg-[var(--vscode-editor-background)] opacity-75`
`bg-[var(--frontmatter-lightbox-background)]`
)
}`}
>
@@ -33,7 +33,7 @@ export const Lightbox: React.FunctionComponent<ILightboxProps> = (
<img
src={lightbox}
alt={basename(lightbox)}
className={`w-1/2 h-auto rounded border shadow-2xl ${getColors(`border-vulcan-500 bg-vulcan-600`, `border-[var(--frontmatter-border)] bg-[var(--vscode-sideBar-background)]`)}`}
className={`w-1/2 h-auto rounded border shadow-2xl border-[var(--frontmatter-border)] bg-[var(--vscode-sideBar-background)]`}
/>
</div>
</div>
@@ -22,19 +22,11 @@ export const MenuButton: React.FunctionComponent<IMenuButtonProps> = ({
<Menu.Button
disabled={disabled}
className={`group inline-flex justify-center text-sm font-medium ${getColors(
'text-vulcan-500 hover:text-vulcan-600 dark:text-whisper-500 dark:hover:text-whisper-600',
'text-[var(--vscode-list-activeSelectionForeground)] hover:text-[var(--vscode-list-highlightForeground)]'
)
}`}
className={`group inline-flex justify-center text-sm font-medium text-[var(--vscode-textLink-foreground)] hover:text-[var(--vscode-textLink-activeForeground)]`}
>
{title}
<ChevronDownIcon
className={`flex-shrink-0 -mr-1 ml-1 h-5 w-5 ${getColors(
'text-gray-400 group-hover:text-gray-500 dark:text-whisper-600 dark:group-hover:text-whisper-700',
'text-[var(--vscode-list-activeSelectionForeground)] group-hover:text-[var(--vscode-list-highlightForeground)]'
)
}`}
className={`flex-shrink-0 -mr-1 ml-1 h-5 w-5 text-[var(--vscode-textLink-foreground)] group-hover:text-[var(--vscode-textLink-activeForeground)]`}
aria-hidden="true"
/>
</Menu.Button>
@@ -97,6 +97,10 @@ export const TaxonomyManager: React.FunctionComponent<ITaxonomyManagerProps> = (
}
}
if (typeof values === 'string') {
values = [values];
}
for (const value of values) {
if (!items.includes(value)) {
unmapped.push(value);
+13
View File
@@ -62,9 +62,22 @@ const preserveColor = (color: string | undefined) => {
return color;
}
const addBgOpacity = (color: string | undefined) => {
if (color) {
}
return color;
}
const updateCssVariables = () => {
const styles = getComputedStyle(document.documentElement);
// Lightbox
const background = styles.getPropertyValue('--vscode-editor-background');
// Adds 75% opacity to the background color
document.documentElement.style.setProperty('--frontmatter-lightbox-background', `${preserveColor(background)}BF`);
// Text
document.documentElement.style.setProperty('--frontmatter-text', 'var(--vscode-editor-foreground)');
document.documentElement.style.setProperty('--frontmatter-secondary-text', 'var(--vscode-editorHint-foreground)');
+3 -2
View File
@@ -4,7 +4,7 @@ import { COMMAND_NAME, TelemetryEvent } from './constants';
import { MarkdownFoldingProvider } from './providers/MarkdownFoldingProvider';
import { TagType } from './panelWebView/TagType';
import { PanelProvider } from './panelWebView/PanelProvider';
import { DashboardSettings, debounceCallback, Logger, Settings as SettingsHelper } from './helpers';
import { DashboardSettings, debounceCallback, Logger, parseWinPath, Settings as SettingsHelper } from './helpers';
import ContentProvider from './providers/ContentProvider';
import { PagesListener } from './listeners/dashboard';
import { DataListener, SettingsListener } from './listeners/panel';
@@ -30,6 +30,7 @@ import {
StatusListener,
Chatbot
} from './commands';
import { join } from 'path';
let frontMatterStatusBar: vscode.StatusBarItem;
let statusDebouncer: { (fnc: any, time: number): void };
@@ -45,7 +46,7 @@ export async function activate(context: vscode.ExtensionContext) {
// Make sure the EN language file is loaded
if (!vscode.l10n.uri) {
l10n.config({
fsPath: vscode.Uri.parse(`${extensionPath}/l10n/bundle.l10n.json`).fsPath
fsPath: vscode.Uri.file(join(parseWinPath(extensionPath), `/l10n/bundle.l10n.json`)).fsPath
});
} else {
l10n.config({
+11 -2
View File
@@ -222,7 +222,12 @@ export class CustomScript {
let articleData = '';
if (os.type() === 'Windows_NT') {
const jsonData = JSON.stringify(article?.data);
articleData = `'${jsonData.replace(/"/g, `\"`)}'`;
if (script.command && script.command.toLowerCase() === "powershell") {
articleData = `'${jsonData.replace(/"/g, `\\"`)}'`;
} else {
articleData = `"${jsonData.replace(/"/g, `\\"`)}"`;
}
} else {
articleData = JSON.stringify(article?.data).replace(/'/g, '%27');
articleData = `'${articleData}'`;
@@ -360,7 +365,11 @@ export class CustomScript {
return;
}
const fullScript = `${command} ${scriptPath} ${args}`;
if (osType === 'Windows_NT' && command.toLowerCase() === "powershell") {
command = `${command} -File`;
}
const fullScript = `${command} "${scriptPath}" ${args}`;
Logger.info(`Executing: ${fullScript}`);
exec(fullScript, { cwd: wsPath }, (error, stdout) => {
+8 -1
View File
@@ -331,8 +331,12 @@ export class Extension {
let storageUri: Uri | undefined = undefined;
if (type === 'global') {
storageUri = await this.createGlobalStorageIfNotExists();
// Clear workspace state
await this.ctx.globalState.update(propKey, undefined);
} else {
storageUri = await this.createLocalStorageIfNotExists();
// Clear workspace state
await this.ctx.workspaceState.update(propKey, undefined);
}
if (storageUri) {
@@ -429,7 +433,10 @@ export class Extension {
* @returns
*/
private isFileStorageNeeded(propKey: string) {
return propKey === ExtensionState.Dashboard.Pages.Cache;
return (
propKey === ExtensionState.Dashboard.Pages.Cache ||
propKey === ExtensionState.Dashboard.Pages.Index
);
}
/**
+8 -8
View File
@@ -122,14 +122,7 @@ export class FrameworkDetector {
relAssetPath = relAssetPath.substring(1);
}
}
// Support for HEXO image folder
else if (frameworkId === 'hexo') {
relAssetPath = parseWinPath(relAssetPath);
if (relAssetPath.startsWith('/')) {
relAssetPath = relAssetPath.substring(1);
}
}
// Support for the Astro assets folder
// Support for the Astro assets folder or when you need relative paths
else if (
staticFolder &&
staticFolderValue &&
@@ -147,6 +140,13 @@ export class FrameworkDetector {
relAssetPath = relative(fileDir, assetDir);
relAssetPath = join(relAssetPath, `${fileName.name}${fileName.ext}`);
}
// Support for HEXO image folder
else if (frameworkId === 'hexo') {
relAssetPath = parseWinPath(relAssetPath);
if (relAssetPath.startsWith('/')) {
relAssetPath = relAssetPath.substring(1);
}
}
return parseWinPath(relAssetPath);
}
+2
View File
@@ -77,6 +77,8 @@ export class ImageHelper {
} else if (workspaceFolderPath && existsSync(workspaceFolderPath)) {
return Uri.file(workspaceFolderPath);
}
return null;
}
/**
+3 -1
View File
@@ -41,6 +41,7 @@ import {
ScriptType,
TaxonomyType
} from '../models';
import { Folders } from '../commands';
export class PanelSettings {
public static async get(): Promise<IPanelSettings> {
@@ -94,7 +95,8 @@ export class PanelSettings {
start: Settings.get<string>(SETTING_FRAMEWORK_START)
},
dataTypes: Settings.get<DataType[]>(SETTING_DATA_TYPES),
fieldGroups: Settings.get<FieldGroup[]>(SETTING_TAXONOMY_FIELD_GROUPS)
fieldGroups: Settings.get<FieldGroup[]>(SETTING_TAXONOMY_FIELD_GROUPS),
contentFolders: Folders.get()
};
}
+17 -2
View File
@@ -1,4 +1,4 @@
import { useState, useEffect, useCallback, useMemo } from 'react';
import { useState, useEffect } from 'react';
import { DEFAULT_CONTENT_TYPE, DEFAULT_CONTENT_TYPE_NAME } from '../constants/ContentType';
import { Settings } from '../dashboardWebView/models';
import { ContentType, PanelSettings } from '../models';
@@ -11,7 +11,22 @@ export default function useContentType(
useEffect(() => {
if (settings) {
const contentTypeName = (metadata.type as string) || DEFAULT_CONTENT_TYPE_NAME;
let contentTypeName = DEFAULT_CONTENT_TYPE_NAME;
if (metadata?.type) {
contentTypeName = metadata.type;
}
// Get the content type by the folder name
const pageFolders = settings.contentFolders;
let pageFolderMatches = pageFolders.filter((folder) => metadata.filePath.includes(folder.path));
// Sort by longest path
pageFolderMatches = pageFolderMatches.sort((a, b) => b.path.length - a.path.length);
if (pageFolderMatches.length > 0 && pageFolderMatches[0].contentTypes && pageFolderMatches[0].contentTypes.length === 1) {
contentTypeName = pageFolderMatches[0].contentTypes[0];
}
let ct = settings.contentTypes.find((ct) => ct.name === contentTypeName);
if (!ct) {
+3 -2
View File
@@ -243,7 +243,7 @@ export class PagesListener extends BaseListener {
const pagesIndex = Fuse.createIndex(['title', 'slug', 'description', 'fmBody', 'type'], pages);
await Extension.getInstance().setState(
ExtensionState.Dashboard.Pages.Index,
pagesIndex,
pagesIndex.toJSON(),
'workspace'
);
}
@@ -279,7 +279,8 @@ export class PagesListener extends BaseListener {
ExtensionState.Dashboard.Pages.Index,
'workspace'
);
const fuse = new Fuse(this.lastPages, fuseOptions, pagesIndex);
const fuseIndex = Fuse.parseIndex(pagesIndex);
const fuse = new Fuse(this.lastPages, fuseOptions, fuseIndex);
const results = fuse.search(data.query || '');
const pageResults = results.map((page) => page.item);
+13 -9
View File
@@ -70,17 +70,21 @@ export class MediaListener extends BaseListener {
}
}
private static generateUrl(data: string) {
private static generateUrl(
data: string | { original: string; absPath: string; webviewUrl: string }
) {
const filePath = window.activeTextEditor?.document.uri.fsPath;
const imgUrl = ImageHelper.relToAbs(filePath || '', data);
if (imgUrl) {
const viewUrl = PanelProvider.getInstance().getWebview()?.asWebviewUri(imgUrl);
if (viewUrl) {
this.sendMsg(Command.sendMediaUrl, {
original: data,
url: viewUrl.toString()
});
if (typeof data === 'string') {
const imgUrl = ImageHelper.relToAbs(filePath || '', data);
if (imgUrl) {
const viewUrl = PanelProvider.getInstance().getWebview()?.asWebviewUri(imgUrl);
if (viewUrl) {
this.sendMsg(Command.sendMediaUrl, {
original: data,
url: viewUrl.toString()
});
}
}
}
}
+2 -1
View File
@@ -1,5 +1,5 @@
import { FileStat } from 'vscode';
import { DraftField, GitSettings } from '.';
import { ContentFolder, DraftField, GitSettings } from '.';
import { Choice } from './Choice';
import { DashboardData } from './DashboardData';
import { DataType } from './DataType';
@@ -29,6 +29,7 @@ export interface PanelSettings {
fieldGroups: FieldGroup[] | undefined;
commaSeparatedFields: string[];
aiEnabled: boolean;
contentFolders: ContentFolder[];
}
export interface FieldGroup {
+3 -2
View File
@@ -1,12 +1,13 @@
import { Uri, l10n } from 'vscode';
import { Extension, Logger } from '../helpers';
import { Extension, Logger, parseWinPath } from '../helpers';
import { readFileAsync } from './readFileAsync';
import { join } from 'path';
export const getLocalizationFile = async () => {
try {
const localeFilePath =
l10n.uri?.fsPath ||
Uri.parse(`${Extension.getInstance().extensionPath}/l10n/bundle.l10n.json`).fsPath;
Uri.file(join(parseWinPath(Extension.getInstance().extensionPath.fsPath), `/l10n/bundle.l10n.json`)).fsPath;
const fileContents = await readFileAsync(localeFilePath, 'utf-8');
return fileContents;