diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..add78a6 --- /dev/null +++ b/404.html @@ -0,0 +1,1155 @@ + + + +
+ + + + + + + + + + + + + + + + + + +Trust, respect, collaboration and transparency are core values we believe should live and breathe within our projects. Our community welcomes participants from around the world with different experiences, unique perspectives, and great ideas to share.
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
+Examples of behavior that contributes to creating a positive environment include:
+Examples of unacceptable behavior by participants include:
+Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting us through this form. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.
+Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project’s leadership.
+If you are unsure whether an incident is a violation, or whether the space where the incident took place is covered by our Code of Conduct, we encourage you to still report it. We would prefer to have a few extra reports where we decide to take no action, than to leave an incident go unnoticed and unresolved that may result in an individual or group to feel like they can no longer participate in the community. Reports deemed as not a violation will also allow us to improve our Code of Conduct and processes surrounding it. If you witness a dangerous situation or someone in distress, we encourage you to report even if you are only an observer.
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+ + +The plugin adds seven commands, with one also applied on the right-click menu.
+There are four types of commands :
+Upload
Refresh
Purge
Test
and Check
Upload sends the share: true
file and its embedded contents (or note, based on your settings) to the configured repo.
“Shared” meaning here “which have the share: true
frontmatter key.”
It includes:
+Upload single current active note
(also in the right-click menu) : Send only the single current active note. The repo can be changed using the frontmatter.Upload all notes
: Send all shared notes to the configured repository.Upload unpublished notes
: Send only the shared note that are not present on the repository.Refresh scans the repository and updates or sends the notes based on some conditions.
+Refresh all published notes
: It only updates the content of the published notes. Here, the commit date and the last edited time (from Obsidian) are compared.Refresh published and upload new notes
: It uploads the note not present in the repository and also updates the note edited since the last push. Same as above, dates are compared.The refresh command use the last edited time and the last commit date to determine if the note has been edited since the last push.
+As a dataview table/list/task update don’t edit the contents of a note, it won’t be updated by the refresh command. You can use the Upload
command to update it.
There is only one command here : Purge depublished and deleted files
Depublished here means that the share
key has been removed or set to false
.
This command will clean your configured repository by removing the files you deleted or stopped sharing.
+Again, only one command : Test the connection to the configured repository
.
It will check if the repository exists, and also the main branch you set. It also checks whether you forgot (or not) to set a value.
+The commands is Check the rate limit of the GitHub API
.
+It will show you the number of requests you have left, and the time when the limit will be reset.
This commands is also run along the verification of the repository value, and check if you will reach the limit using the commands (upload, refresh and purge), based on the number of files you will send, update or delete.
+Note
+The rate limit is 5000 requests per hour. If you reach the limit, you will have to wait for the next hour to be able to push again.
+Exceding the limit will result in a 403
error.
+More information about the rate limit can be found here.
You can choose to add a command to copy the path (from the blog) of the current note. This command is only available if you have enabled the copy link feature in ./Settings/Plugin.
+This command is only available if you have more than one repository configured. It will allow you to run a command for a specific repository configured in the settings.
+For this, there are two commands:
+It allow to update the frontmatter of the “sets” if you have edited them, without reload the plugin/obsidian or re-register the file.
+ + +You can help me develop the plugin using pnpm
!
git clone git@github.com:enveloppe/obsidian-enveloppe.git
cd obsidian-enveloppe
pnpm install
.env
file with the following content:pnpm run dev
Some notes:
+The plugin uses i18n to manage translation and UX writing.
+To add a new language or rephrase current wording:
+es.json
for Spanish) and use the english file (en.json
) as a base.{{variable}}
(you can’t translate them)Test locally
+You can test locally your translation if you want, but you need to clone the main repository with submodule, have node
and pnpm
, run pnpm i
and run pnpm run build
, without forget to add the file main.js
in your .obsidian/plugin/obsidian-mkdocs-publisher
. Don’t forget to reload Obsidian after the copy!
Advice
+If you use VSCode or jetbrain editor, you can look at i18n Ally to get some useful tool for your translation!
+It is also possible to use Weblate to translate the plugin!
+ + +Publish your notes in your own GitHub repository for free and do whatever you want with them. ✨
+This allows you to set up any template: Jekyll, Mkdocs, Hugo, or custom-made ones!
+Here, you will only get a quick setup!
+[[wikilinks]]
to markdown linksindex.md
)dataviewjs
, inline DQL and inline dataviewJS
.)Warning
+Do not use this plugin to sync or save your Obsidian Vault!
+Avoid opening the converted files from your repository in Obsidian!
There are plenty of options available, some of which are pre-configured and others are optional.
+Before you begin, you will need to configure your GitHub repository.
+share: true
in the frontmatter of a file, like this:Upload single current active note
That’s it! However, there are many options that a simple README cannot cover, so please refer to the documentation for more information. 💕.
+The plugin adds 8 commands in the palette, one of which is also available in the right-click menu.
+Upload single current active note
(available in the right-click menu)Upload all notes
Upload unpublished notes
Refresh published and upload new notes
Refresh all published notes
Purge depublished and deleted files
Test the connection to the configured repository
Check the rate limit of the GitHub API
Each of the commands are explained here.
+-
.Warning
+Sometimes, the branch may not be merged due to merge conflicts. This can occur if you push too frequently.
+You can :
+ +→ Settings explanation
+← Commands references
+→ GitHub Discussion
If you find this plugin and workflow useful, you can give me some coffee money!
+
You can use a private GitHub repository as a bridge between your Vault and your hosted solution.
+Also, it’s possible to host only your Obsidian content in a private repository hosted on GitHub and use other hosting solution for the rest (template, quartz…) using submodule.
+However, the dry-run allow to “test” the plugin without sending into a Repository. The plugin will follow all of your settings, but instead of sending into a repository, it will send into a configured folder. You can use variable to simulate multiple repository :
+{{owner}}
{{repo}}
{{branch}}
Using this, I think it could be possible to create a repository in it, but I’m afraid of Obsidian auto-fixing for path…
+ + +Dataview is supported and transformed into Markdown by the plugin. However there are some problems with Dataview I can’t fix. Moreover, I can’t update the API properly (see obsidian-dataview/issue#2080).
+Not only that, Dataview seems to be in maintenant mode and will be replaced by Datacore. Therefore, I will not fix the problems with Dataview until Datacore or a proper way to update Dataview is released.
+Some known bugs:
+0
will be transformed into empty stringdv.paragraph
with collapside callout in it..excalidraw
files will be exported natively into svg
file, you don’t need to export the file manually.
For the moment, Metabind doesn’t allow to export to Markdown. You can make an FR on the official repository to allow it.
+Some of the information presented here may not be up to date.
+Using metacopy, you can quickly copy a link to a shared page. To create a link, you need to configure:
+category
in key
set_url
in base link
category
in key link
You can also remove metacopy from the file menu using a key, so you can activate metacopy only for share: true
. Metacopy support also folder note.
The final configuration of metacopy will be:
+
+
In the end, a menu will appear on files with share: true
and a configured category
. This menu is on the left-click and the file menu. You can quickly copy a link from there, like a Google or Notion sharing link!
These settings won’t change the content of your files in your vault. They only affect the files that are being uploaded to the remote repository, and how they are organized and deleted within that repository.
+These options can help you to ensure that the links in your shared files are valid and point to the correct location in your remote repository.
+The internal links option will convert links to match the relative path in your repository, while the wikilinks to markdown link option will convert wikilinks to the standard markdown link format.
+This can be especially useful if your publishing solution does not support wikilinks, or if you want to ensure that your links are consistent across different platforms.
+This option will convert the internal links (including attachments links!) of the shared file to match the relative file in your repository. Only existing, shared, and from the same repository files will be converted.
+The next option allows you to convert links to files that are not shared. This is useful if you already plan to share a file but haven’t done so yet, without having to go over every mention!
+In case you use wikilinks as a daily but your Obsidian publishing solution doesn’t support it, you can use these settings to convert the wiki to MD link.
+For some reasons, you may need to convert text in your file. Here you can configure to:
+This part allows pulling some contents to add them into your frontmatter tags
field.
/
with _
(for example, #tag/subtag
will be converted to tag_subtag
), also, consequently, fix your frontmatter as YAML standard.If the value is a link, the converted value will be the filename or the displayed name. You can either exclude the filename or the displayed name.
+This option can be useful if you want to organize your files using tags in the frontmatter. It allows you to automatically add tags to your files based on the contents of the file, such as inline tags or specific fields.
+ + +Note
+The first option allow you to share also the notes linked by a simple links, like [[note]]
or [note](note.md)
. Disable it and you needs to use a dataview query (or frontmatter property) to send specific files.
+Obviously, the notes needs to be shared to be send.
You can choose to send embedded files in two ways:
+By default, attachments are not overridden if they are already exists in the repository until they are edited (the date between the two are compared). This mean that the API will use between one and three token to check and send attachments. You can force push an attachmentu using override attachment path
modal.
> /^_assets\/_PLUGINS\/icons\/(.*)\/(.*)\.svg$/
→ overrides/icons/$1/$2.svg
: Will send all svg
file into the folder overrides/icons
Additionally, you can choose to send files based on a metadata field. This means that if a specific field in the file’s frontmatter (or using a Inline Dataview) is set to a certain value, the file will be sent to the repository.
+Example
+ +If you set the metadata banner
, the image will be sent to the default attachment folder. All attachments supported by Obsidian (plus Markdown files) are supported.
+This means that you can send images, pdfs, audio files and any other types of files that are supported by Obsidian and are embedded in your notes.
This feature allows you to easily share all the necessary resources in your notes with your remote repository.
+You can choose to send embedded note (in markdown)
+You can also change the look of the embedded links, if you set the transfer of these note to true:
+!
before the link.->
. So, you will have, as result: ![[link]]
to -> [[link]]
Outside of a blog’s solution that support file embedding, the content’s of the embedded notes won’t be added to your note.
+In these case, you can use include embeds contents
option.
Excalidraw files are not normally handled by Obsidian as default attachment, but the plugin will. The file will be converted automatically into svg files. Now, you don’t need to embed the svg or png and use the default .excalidraw
file.
main
, but you can change it to whatever you want, as long as the branch exists.It is possible to use per-file configuration to change the repository name, username, and branch. You can find more information about it here.
+Also, you can configure your GitHub Workflow here :
+[skip ci]
or [skip netlify]
. Note that there will be always the PR number appended after the message.workflow_dispatch
.You can now manage multiple repository in the settings. It will allows you to use all commands on each configured repository. Note that it will use the same conversion settings for all repositories.
+Also, token are shared between all repositories.
Each repository can be configured with the settings above (except the token), plus:
+smartKey
: Aka the name
of the repository. It will be used to identify the repository in the ./Per files settings, and in the commands palettes.shareKey
: Allow you to separate the files shared for each repository. Note that if a secondary key is present with the main key, the main repository will be used.Base link
: Only enabled if you use the copy link command.shortcuts
: Allow you to create a shortcut for each repository. The commands will be directly available in the commands palettes. Otherwise, you need to use the Run command for a repository
command, and choose the repository you want to use. This add more per-files settings.It’s also possible to connect the frontmatter of a file to this repository, overriding using like per file settings.
+Important
+To keep performance, the frontmatter is read and saved when:
+A GitHub account and connection is required to create a token. ↩
+ It is now possible to set a repository directly in the frontmatter with the
repo
key.
Warning
+Upload single current active note
will work, with the autoclean if activated. You can disable it using the frontmatter!username/repo/branch/autoclean
, username/repo/brach
, username/repo
, and repo
. You can also use a YAML object like this:Globally, if you share only one file, all functions will be on the per-file repository instead of the global one.
+Also, the settings will be the same as the global one, except for the repository settings such as image and folder.
You can also set multiple repositories in the frontmatter with the
multipleRepo
key. It works like the repo
key, but you can set multiple repositories in a list format.
Example
+multipleRepo:
+
+ - owner: username
+ repo: repo
+ branch: branch
+ autoclean: false
+
+ - owner: username
+ repo: repo
+ branch: branch
+ autoclean: false
+
In this behavior, the autoclean
will be set to false
by default.
If you had configured repository in Manage other repo
you can use the shortRepo
key with the smartkey
. You can also set multiple configured repositories in a list format :
or
+ +The key default
is reserved for the default repository. You can use it to send a file in your default repo and your other repo:
Info
+Yaml Object can be converted to literal string key using the <key1>.<subkey>
format.
+For example:
+
Some settings can be overridden based on your frontmatter key (of the file send):
+links
key, you can create a YAML object with:mdlinks
: to force converting to markdown links.convert
or links
: to remove the links and keep only the string (alt text or filename).internals
: Convert internal links to their counterpart in the website (in relative path). Disabled, links will be kept as is.nonShared
: Same as above, but for links pointing to unshared files. Disabled, links will be transformed to keep the filename. Note that you can use links: false
and mdlinks: true
outside the YAML object if you want to just use one option.embed
key :send: false
to avoid sending the embedded files (not attachments!)remove
: Modify the aspect of the embeded files link. Can take the followed value:false
or keep
: Leave as in Obsidian (default)true
or remove
: Remove the embeded link (replace to empty string the ![[]]
or ![]()
syntax)links
: Convert to markdown links (remove the !
before the link).bake
: Include the contents of the embed. Support block, heading, and entire file. Based on the plugin easy-bake. File are included as is, without markdown or html specificities.char
: Add a character(s) before the embedded links. Used only if you set the remove
key to links
.attachment
: allow per-file settings for attachments (images, pdfs, sound, video… Any attachment supported by Obsidian)send: false
to avoid sending the filesfolder
to change the default folder. Beware that changing this setting can have strange effects with autocleaning! You can, again, use a one-key setting using attachmentLinks
for the folder and attachment: false
to avoid sending.dataview
to override dataview settings.hardbreak
for markdown hard break.includeLinks
Allow sending file linked by simple links, like [[markdown]]
or [alias](markdown)
.baselink
: to change the base link for the copy links function. Note, using this key will disable the remove part settings. You need to use the object copylink
to edit the remove part, as follow:base
: to change the base linkremove
: To remove some part specific to this file.path
: override all path settings and create a path from the root. Use /
or let it empty to set it to the root of the repository.All of theses keys can be prepend by a smartkey (ie smartkey.<key>
) to allow per-file-per-repository configuration.
path
: Same as before : override all path settings and create a path from the root. Will skip all other options.category
: Take the category
key from your settings (you can set the category key and also change it). Only work if the behavior
(or the default behavior) is set to YAML.category.key
: Change the category name (for example: category.key: test
will use the property test
).category.value
: Alias of defaultName
key. rootFolder
: Same as the root folder settings in File paths settings ;defaultName
: Default folder name for file reception, same as global setting. Only works for yaml
behavior.behavior
: Change the behavior between yaml
, fixed
, and obsidian
.links:
+ mdlinks: boolean #convert to markdownlinks
+ convert: boolean #transform to simple string with keeping alt text or file name/ title (it removes the [[]] or []())
+embed:
+ send: boolean #prevent sending embed
+ remove: string # or boolean. Can take "false" or "keep", "true" or "remove", "links"
+ char: string #add a character before the link
+attachment:
+ send: boolean #prevent sending attachment
+ folder: string #change default folder for attachment - same as attachmentLinks
+dataview: boolean #force/prevent dataview queries conversion
+hardbreak: boolean #same but for hardbreak
+includeLinks: boolean #send files linked by simple links, like [[markdown]] or [alias](markdown)
+repo:
+ branch: string #change default branch
+ repo: string #change default repository
+ owner: string #change default owner (it's your github Username)
+ autoclean: boolean #disable auto cleaning
+baselink: string #change base link for copylink settings
+
For multiple Repo :
+links:
+ mdlinks: boolean #convert to markdownlinks
+ convert: boolean #transform to simple string with keeping alt text or file name/ title (it removes the [[]] or []())
+embed:
+ send: boolean #prevent sending embed
+ remove: string # or boolean. Can take "false" or "keep", "true" or "remove", "links"
+ char: string #add a character before the link
+attachment:
+ send: boolean #prevent sending attachment
+ folder: string #change default folder for attachment
+dataview: boolean #force/prevent dataview queries conversion
+hardbreak: boolean #same but for hardbreak
+includeLinks: boolean #send files linked by simple links, like [[markdown]] or [alias](markdown)
+baselink: string #change base link for copylink settings
+multipleRepo:
+ - repo:
+ branch: string #change default branch
+ repo: string #change default repository
+ owner: string #change default owner (it's your github Username)
+ autoclean: boolean #enable auto cleaning
+ - repo:
+ branch: string #change default branch
+ repo: string #change default repository
+ owner: string #change default owner (it's your github Username)
+ autoclean: boolean #enable auto cleaning
+
mdlinks: boolean #convert to markdown links
+links: boolean #remove [[]] or []() and keep just alt text or filename/title
+removeEmbed: string # or boolean. Can take "false" or "keep", "true" or "remove", "links"
+attachmentLinks: string #ovverride default folder for attachments
+attachment: boolean #prevent sending attachment
+dataview: boolean
+hardbreak: boolean
+includeLinks: boolean
+repo: string #owner/repo/branch/clean or owner/repo/branch or owner/repo or repo
+autoclean: boolean #disable auto cleaning (use it only if you don't set in the repo!)
+baselink: string #change base link for copylink settings
+
For multiple Repo :
+mdlinks: boolean #convert to markdown links
+links: boolean #remove [[]] or []() and keep just alt text or filename/title
+removeEmbed: string # or boolean. Can take "false" or "keep", "true" or "remove", "links"
+attachmentLinks: string #ovverride default folder for attachments
+attachment: boolean #prevent sending attachment
+dataview: boolean
+hardbreak: boolean
+includeLinks: boolean
+baselink: string #change base link for copylink settings
+multipleRepo: list of string
+ - owner/repo/branch/autoclean or owner/repo or repo
+ - owner/repo/branch/autoclean or owner/repo or repo
+
Default value is derivative from your settings : (settings.keys
refer to your settings)
links:
+ mdlinks: settings.wikilinks
+ convert: true
+embed:
+ send: settings.embed
+ remove: settings.convert_embed
+ char: settings.char
+attachment:
+ send: settings.attachment
+ folder: settings.default_folder_image || settings.default_folder || filepath
+dataview: settings.dataview
+hardbreak: settings.hardbreak
+includeLinks: settings.includeLinks
+repo: #same for multipleRepo
+ branch: settings.branch
+ repo: settings.repo
+ owner: settings.owner
+autoclean: settings.auto_clean
+baselink: string #change base link for copylink settings
+
Share all files allows to send every files automatically (unless they are excluded) without using the share
key.
+When enabled, you can excluded all files where the name start by something.
Set the share key and set it to true
in the YAML frontmatter of a note to allow sharing it. By default, it is share
. For example:
Even if the share key is set to true
in notes inside excluded folders, they won’t be shared. This is useful if you forget to remove the share
(or turn it to false
) and move a file in your archive.
You can use regex here, but you need to enclose the regex between /
, e.g. /unshar.*/
.
The path should be relative to the root (e.g. ./excluded
). If only the name is provided, it will exclude all folders containing the keyword.
Add the command to share the file on the file menu (right-click on a file in the explorer or using the three dots) and editor menu (right-click on an open edited note)
+The right-click menu command can also send the file under your cursor if it’s a link!
+Add the link’s shared note in your clipboard after sharing :
+baselink
).index, .md
/
. For example, if you want to replace all spaces, you can use / /g
.This is how the modal look like:
+
Allow to quickly return to the last used tabs of the settings after closing the settings and reopen it.
+In this file, I add a list of example for the file path settings, edited by your upload configuration.
+Metadata frontmatter
+category
in a file with category: Roleplay/Characters/DND
_docs/pages
_docs/draft
The final path (in GitHub!) will be: _docs/pages/Roleplay/Characters/DND
But, if you don’t set category
, the path will be _docs/draft
Fixed folder
+source
as the default folder, any file will be sent to your_repo/source
, regardless of its frontmatter key or relative path.your_repo
.For a file in 20. Compendium/DND/Monster
source
: the final path will be source/20. Compendium/DND/Monster
20. Compendium/DND/Monster
Removing a subpath
+You can use the folder path modification to designate a subfolder as the “vault” for syncing the repository.
+You need to set the subpath
in entry and leave empty for the replacement. Don’t forget to set the editing on folder path
!
vault/sub
as the path removed.vault/sub
as repo
.vault/sub/folderA
will be synced in repo/folderA
Using a frontmatter key title
:
title: My title
filename
: 28-03-2020-1845.md
My title.md
frontmatter example with a file named folder2
:
folder1/folder2
docs
⇒ docs/folder1/folder2/index.md
folder1/folder2/index.md
drafts
: draft/folder2.md
(the name won’t be converted!)Example with Obsidian Path & a file named folder2
:
With a path like: folder1/folder2
the new path will be:
docs
: docs/folder1/folder2/index.md
folder1/folder2/index.md
Example
+docs/XX/YY/my_file.md
docs/XX/ZZ/new_file.md
../YY/my_file.md
You can find some examples of path created by the plugin here.
+There are three options available for managing folder reception:
+category
key.In all cases, you will need to configure the default folder: The file will be sent here if it doesn’t match the other conditions.
+Note
+If you use the option for frontmatter, this folder will be the default folder: the file will be sent here if the key doesn’t exist.
+Override settings
+The settings bellow can be overrided by the frontmatter key path
. See per file settings for more informations.
Using the second option will activate two additional options:
+When using this option, every file will be sent to the default folder. If the default folder is left blank, the files will be sent to the root of the repository.
+This option uses the relative path in your Obsidian vault. The default folder will be prepended before the relative Obsidian path. If left blank, the files will be sent to the root of the repository.
+In the 5.0.0 version, the path removing
option was transfered into the Folder part modification.
You can change the filename using a configured frontmatter key.
+You can set one or multiple regex to be applied to the filename or the folder path. Note that each replacement will be applied in their order of registration.
+To use the regex, you need to enclose the text with /
. For example : /h.llo/
will be considered as a regex. But h.llo
will be search strict the text h.llo
.
About folder Path
+The option is not available if you use the fixed folder
option.
Editing all path
+If you use the /
characters, you can edit a part or the whole path of a file.
+For example, you can edit the folder something
to some/thing
. The file from something
will go in some/thing
.
+Use it carefully!
Path removing
+Normally, previous option will be converted.
+If you need to create a part removing to « sync subfolder » you need to set the folder to remove in entry, and leave the replacement empty.
Some publishing solutions support folder notes, but these notes need to be named index
. In case you use Folder Note with the same name
strategies you will have a problem, right?
+Fortunately, I have a solution for you!
Now, the plugin will convert these files into index
(or another name) if you activate the settings.
This option doesn’t work with fixed folder.
+It is also possible to send files generated by metadata extractor plugins. If you’d like to, just set the folder path where the files must be sent.
+Warning:
+metadata-extractor
is not available on mobile)..obsidian/plugins
will be sent. The plugin doesn’t support sending files from external folders.You can also set up an “auto-delete” feature when you use the commands to delete files:
+This option will also add a new command to delete files (without sharing the new file) from the remote repository.
+Warning1
+You can’t use the delete command if you haven’t set a default folder (and a root folder if you use the YAML configuration).
+Also, you can lose some files using this command, so be careful!
+Please keep in mind that you can revert commits in case the plugin deletes a file you want to avoid deleting.
Changing the option
+In case you change the folder configuration, the previous files won’t be deleted and it may result in errors in this workflow. Be cautious when making changes to the folder configuration, as it can affect the integrity of the files and the overall workflow.
+You can set the path of the folder you want to avoid deleting the files. Separate multiple folders with a comma. This will ensure that the files in these specified folders are not deleted even if they are removed from the vault or depublished. It’s important to double check the paths to ensure that the right folders are excluded from deletion.
+Regex
+You can use regex here, but you need to enclose the regex between /
.
+For example, /folder1/,/folder2/.*\/subfolder/
will exclude files in the folder1, folder2 and all subfolders under folder2. Be careful when using regex as it can result in unexpected behavior if not written correctly.
Finally, to prevent deleting index
files created outside of Obsidian, you can use some parameters in your front matter:
delete: false
index: true
or by removing the share
key.About Per-File Repository:
+It’s important to keep in mind that when using the per-file repository option, the cleanup commands will only work for the repository set in the settings. However, the auto-cleanup feature will work on the per-file repository during the Upload single current active note
process.
For attachments, the situation can be a bit tricky as they don’t have frontmatter metadata. In these cases, attachments will be deleted in the global repository or in the per-file repository if it’s a one file sharing. Be sure to double-check the settings for these files to ensure they are not accidentally deleted.
+Only file supported by Obsidian will be deleted. ↩
+← Commands
+ + +