{"id":27992716,"url":"https://github.com/mara-li/obsidian-dataview-properties","last_synced_at":"2026-01-20T10:01:21.447Z","repository":{"id":290583824,"uuid":"973739233","full_name":"Mara-Li/obsidian-dataview-properties","owner":"Mara-Li","description":"Sync inline Dataview to properties (YAML frontmatter)","archived":false,"fork":false,"pushed_at":"2026-01-19T22:04:26.000Z","size":832,"stargazers_count":39,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-20T05:22:19.759Z","etag":null,"topics":["dataview","obsidian","plugin","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mara-Li.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-beta.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-27T16:29:54.000Z","updated_at":"2026-01-19T22:04:31.000Z","dependencies_parsed_at":"2025-05-08T18:41:26.374Z","dependency_job_id":"6ba8ba63-ab71-49f6-b0dd-b0c2e009e2e6","html_url":"https://github.com/Mara-Li/obsidian-dataview-properties","commit_stats":null,"previous_names":["mara-li/obsidian-dataview-properties"],"tags_count":26,"template":false,"template_full_name":"Mara-Li/obsidian-sample-plugin","purl":"pkg:github/Mara-Li/obsidian-dataview-properties","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mara-Li%2Fobsidian-dataview-properties","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mara-Li%2Fobsidian-dataview-properties/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mara-Li%2Fobsidian-dataview-properties/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mara-Li%2Fobsidian-dataview-properties/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mara-Li","download_url":"https://codeload.github.com/Mara-Li/obsidian-dataview-properties/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mara-Li%2Fobsidian-dataview-properties/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28601284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T09:39:28.479Z","status":"ssl_error","status_checked_at":"2026-01-20T09:38:10.511Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataview","obsidian","plugin","typescript"],"created_at":"2025-05-08T18:41:06.026Z","updated_at":"2026-01-20T10:01:21.402Z","avatar_url":"https://github.com/Mara-Li.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dataview (to) Properties\n\nDataview Properties allows you to automatically copy Dataview inline fields (and their values, even calculated ones!) into frontmatter properties and keep them synchronized.\n\n## ✨ Features\nThe plugin offers the following features:\n\n- Conversion of Dataview queries (DQL and DataviewJS) to frontmatter\n- Support for both block and inline queries\n- Automatic synchronization based on a configurable interval\n- Dedicated command to manually trigger synchronization\n- Evaluation of calculated values before insertion into frontmatter\n- Automatic cleanup of the frontmatter when the Dataview field is removed (optional)\n- Lowercase \u0026 ignore accents for values and fields recognition\n- Granular options to convert to properties list. \n- Exclude file with a frontmatter key or by path.\n\n\u003e [!WARNING]\n\u003e The Dataview plugin must be installed and activated in your Obsidian vault.\n\n## ⚙️ Configuration\n![Settings](./docs/settings_1.png)\n![Settings](./docs/settings_2.png)\n![Settings](./docs/settings_3.png)\n\n\u003e [!TIP]\n\u003e Both options (frontmatter cleanup, ignore and text removing) supports **insensitive** and **ignore accent** recognition:\n\u003e - **Insensitive** : The plugin will ignore the case of the field names when checking for matches. For example, if you have a field named \"Name\" and you set \"name\", both value will be recognized as the same.\n\u003e - **Ignore accent** : The accented characters will be converted to their non-accented counterparts. For example, if you have a field named \"école\" and you set \"ecole\", both value will be recognized as the same.\n\n- **Excluded file** : Exclude files by path, a regex (like `/mypath.*/i`) or using a frontmatter key (by default, it is `dv_excluded: true`). These settings are under the button \"Excluded files\".\n- **Prefix**: The prefix to add to the frontmatter properties. This is useful to avoid conflicts with existing properties (and Dataview metadata). The default value is `dv_`. **An empty prefix is not supported.**\n- **Interval**: The time interval (in milliseconds) at which the plugin will check for changes in the Dataview queries and update the frontmatter properties accordingly. The default value is 1000ms (1 second).\n- **Mark a field as a list**: A textarea to define fields that must be converted to a list. Separate the fields with a comma or a new line. To use regex, encapsulate with `/` (ex: `/^name$/i`).\n- **Frontmatter cleanup** : Automatically remove the frontmatter properties when the corresponding Dataview field is removed. Enabled by default.\n- **Ignored fields** : A list (of string) of fields to ignore (aka that won't be copied). Separate the fields with a comma or a new line. To use regex, encapsulate with `/` (ex: `/^name$/i`). \n- **Text removing** : Remove pattern or value from the field **value** when adding it to the frontmatter. Useful to remove some unwanted characters like `%%`. Like **ignored fields**, you can use regex by encapsulating the pattern with `/` (ex: `/^name$/i`).\n- **Dataview** : Enable/disable the evaluation of each type of dataview query. Only inline queries are supported.\n    - **Dataview Query Language (DQL)**\n    - **DataviewJS**\n\n\u003e [!CAUTION]\n\u003e Only string/numbers/date are supported in the frontmatter. When the evaluated queries returns a html, it will converted to markdown. \n\n## 🛠️ Usage\n\n\u003e [!TIP]\n\u003e The keys are copied into the frontmatter with a prefix (that you can configure) to avoid conflicts with existing properties (and Dataview metadata). \n\u003e The default prefix is `dv_`. \n\u003e **An empty prefix is not supported.**\n\n### Automatic synchronization\n\nBy default, the plugin automatically synchronizes the Dataview queries within the frontmatter (proprieties) when the metadata are changed. This synchronization is triggered based on the configured interval (default: `1000ms`).\n\n### Manual command\n\nYou can also trigger the synchronization manually by using the command palette (\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eP\u003c/kbd\u003e | \u003ckbd\u003eCmd\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e) and searching for \"Dataview Properties : Add the Dataview field to the frontmatter\". This will force the plugin to check for changes in the Dataview queries and update the frontmatter properties accordingly.\n\n\u003e [!TIP]\n\u003e For a file containing:\n\u003e ```markdown\n\u003e ---\n\u003e name: \"name\"\n\u003e force: 12\n\u003e agility: 5\n\u003e ---\n\u003e\n\u003e # Hello world\n\u003e Vitality:: `$= this.force + this.agility`\n\u003e ```\n\u003e The plugin will update the file accordingly:\n\u003e ```markdown\n\u003e ---\n\u003e name: \"name\"\n\u003e force: 12\n\u003e agility: 5\n\u003e dv_Vitality: 17\n\u003e ---\n\u003e\n\u003e # Hello world\n\u003e Vitality:: `$= this.force + this.agility`\n\u003e ```\n\nThe plugin also works with more complex queries, like links (and they will be converted to markdown links as `[[mylinks]]`), date or numbers.\n\n\u003e [!CAUTION]\n\u003e - Widget and function won't be added to the frontmatter.\n\u003e - HTML will be converted to markdown.\n\n## 📥 Installation\n\n- [ ] From Obsidian's community plugins\n- [x] Using BRAT with `https://github.com/Mara-Li/obsidian-dataview-properties`\n- [x] From the release page: \n    - Download the latest release\n    - Unzip `dataview-properties.zip` in `.obsidian/plugins/` path\n    - In Obsidian settings, reload the plugin\n    - Enable the plugin\n\n\n### 🎼 Languages\n\n- [x] English\n- [x] French\n\nTo add a translation:\n1. Fork the repository\n2. Add the translation in the [`src/i18n/locales`](./src/i18n/locales) folder with the name of the language (ex: `fr.json`). \n    - You can get your locale language from Obsidian using [obsidian translation](https://github.com/obsidianmd/obsidian-translations) or using the commands (in templater for example) : `\u003c% tp.obsidian.moment.locale() %\u003e`\n    - Copy the content of the [`en.json`](./src/i18n/locales/en.json) file in the new file\n    - Translate the content\n3. Edit `i18n/i18next.ts` :\n    - Add `import * as \u003clang\u003e from \"./locales/\u003clang\u003e.json\";`\n    - Edit the `ressource` part with adding : `\u003clang\u003e : {translation: \u003clang\u003e}`\n\n---\n## Special thanks \u0026 credits\n\n- [Jesse Hines for wdio obsidian service](https://github.com/jesse-r-s-hines/wdio-obsidian-service) that *finally* made me able to test the plugin in a real obsidian environment automatically. It mean a lot for a QA tester like me!\n- [Obsidian Dataview](https://github.com/blacksmithgu/obsidian-dataview) as a dependecies.\n- [Obsidian Digital Garden](https://github.com/oleeskild/obsidian-digital-garden) for the first version of the Dataview compiler/evaluator.\n\u003c!--- ----\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmara-li%2Fobsidian-dataview-properties","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmara-li%2Fobsidian-dataview-properties","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmara-li%2Fobsidian-dataview-properties/lists"}