### Track Frontmatter Values Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track numerical values stored in the frontmatter of your notes. It uses the 'frontmatter' search type and specifies the frontmatter key as the target. ```Obsidian Tracker Location: frontmatter Target to Track: --- mood: 10 --- Tracker: searchType: frontmatter, searchTarget: mood Get: V ``` -------------------------------- ### Track Frontmatter Values with Separator Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track frontmatter values that are provided as a comma-separated list. It uses the 'frontmatter' search type and specifies a 'comma' separator. ```Obsidian Tracker Location: frontmatter Target to Track: --- bp: 184.4, 118.8 --- Tracker: searchType: frontmatter, searchTarget: bp[0], bp[1] separator: 'comma' Get: V ``` -------------------------------- ### Track Multiple Frontmatter Values Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track multiple distinct values from the frontmatter. It uses the 'frontmatter' search type and specifies multiple targets. ```Obsidian Tracker Location: frontmatter Target to Track: --- clock-in: 10:45 clock-out: 20:51 --- Tracker: searchType: frontmatter, searchTarget: clock-in, clock-out Get: V ``` -------------------------------- ### Track Frontmatter Array Literal Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking values from a frontmatter array literal. It uses the 'frontmatter' search type and specifies the target with array indexing. ```Obsidian Tracker Location: frontmatter Target to Track: --- bp: [184.4, 118.8] --- Tracker: searchType: frontmatter, searchTarget: bp[0], bp[1] Get: V ``` -------------------------------- ### Track Wiki Links Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates how to track occurrences of wiki links within the content. It uses the 'wiki' search type and specifies the linked page name as the target. ```Obsidian Tracker Location: content Target to Track: [[journal]] Tracker: searchType: wiki, searchTarget: journal Get: O ``` -------------------------------- ### Track Tags in Frontmatter Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track tags defined in the frontmatter of your notes. It specifies 'frontmatter' as the location and uses the 'tag' search type with the tag name as the target. ```Obsidian Tracker Location: frontmatter Target to Track: --- tags: meditation --- Tracker: searchType: tag, searchTarget: meditation Get: O ``` -------------------------------- ### Track Frontmatter Array Values Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking numerical values stored as an array in the frontmatter. It uses the 'frontmatter' search type and specifies the target with array indexing. ```Obsidian Tracker Location: frontmatter Target to Track: --- bp: 184.4/118.8 --- Tracker: searchType: frontmatter, searchTarget: bp[0], bp[1] Get: V ``` -------------------------------- ### Pie Chart with Default Data Colors Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Demonstrates a pie chart configuration that relies on default color schemes provided by the tracker plugin, simplifying the setup when custom colors are not required. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you pie: title: Pie Chart label: '% {{2/30*100}}%, {{4/30*100}}%, {{6/30*100}}%, {{8/30*100}}%, {{10/30*100}}%' data: 2, 4, 6, 8, 10 ratioInnerRadius: 0.0 ``` -------------------------------- ### Track Table Values by Column Index Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track values from a table within the content by specifying column indices. It uses the 'table' search type and references columns using array notation. ```Obsidian Tracker Location: table content Target to Track: { a table filled with dates and values } [example table](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/data/Tables.md) Tracker: searchType: table, searchTarget: filePath[0][0], filePath[0][1] Get: V ``` -------------------------------- ### Track Completed Tasks Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to specifically track tasks that are marked as completed. It uses the 'task.done' search type. ```Obsidian Tracker Location: content Target to Track: - [x] Say love Tracker: searchType: task.done, searchTarget: Say love Get: O ``` -------------------------------- ### Track Incomplete Tasks Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates how to track tasks that are marked as not completed. It uses the 'task.notdone' search type. ```Obsidian Tracker Location: content Target to Track: - [ ] Say love Tracker: searchType: task.notdone, searchTarget: Say love Get: O ``` -------------------------------- ### Aggregate Data from Multiple Tags Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestFrontmatter.md This example demonstrates how to aggregate data associated with multiple tags in the frontmatter. It sets the search type to 'tag', lists the target tags, and specifies a dataset name for each tag. It also includes month-based initialization for the data. ```tracker searchType: tag searchTarget: work_log, work_log2 folder: diary datasetName: Work1, Work2 month: initMonth: 2021-01 ``` -------------------------------- ### Track Table Values with Nested Indexing Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking values from a table with nested data structures using column and array indexing. It uses the 'table' search type. ```Obsidian Tracker Location: table content Target to Track: { a table filled with dates and values } [example table](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/data/Tables.md) Tracker: searchType: table, searchTarget: filePath[1][0], filePath[1][1][0], filePath[1][1][1] Get: V ``` -------------------------------- ### Track Numerical Values by Tag Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking numerical values associated with a tag in the content. It uses the 'tag' search type and specifies the target with a numerical value. ```Obsidian Tracker Location: content Target to Track: #weight:60.5kg Tracker: searchType: tag, searchTarget: weight Get: V ``` -------------------------------- ### Track Multiple Values by Tag Path Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking multiple values associated with a common tag path in the content. It uses the 'tag' search type and specifies multiple targets. ```Obsidian Tracker Location: content Target to Track: #finance/bank1/transfer:100USD #finance/bank1/income:80USD #finance/bank1/outcome:-120USD Tracker: searchType: tag, searchTarget: finance/bank1 Get: V ``` -------------------------------- ### Track Specific Paths by Tag Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track values associated with a specific path within a tag in the content. It uses the 'tag' search type and specifies the target with a path and value. ```Obsidian Tracker Location: content Target to Track: #finance/bank1/transfer:100USD Tracker: searchType: tag, searchTarget: finance/bank1/transfer Get: V ``` -------------------------------- ### Track Specific Text Strings Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates how to track occurrences of specific text strings within the content. It uses the 'text' search type and specifies the string as the target. ```Obsidian Tracker Location: content Target to Track: love Tracker: searchType: text, searchTarget: love Get: O ``` -------------------------------- ### Track Tags in Content Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates how to track occurrences of a specific tag within the content of your notes. It uses the 'tag' search type and specifies the tag as the search target. ```Obsidian Tracker Location: content Target to Track: #meditation Tracker: searchType: tag, searchTarget: meditation Get: O ``` -------------------------------- ### Track Task Completion Status Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates how to track tasks based on their completion status (done or not done). It uses the 'task' search type with specific suffixes like '.done' and '.notdone'. ```Obsidian Tracker Location: content Target to Track: - [x] Say love - [ ] Say love Tracker: searchType: task, searchTarget: Say love Get: O ``` -------------------------------- ### Track Dataview Field Array Values Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track array values from Dataview fields in the content. It uses the 'dvField' search type and specifies the target with array indexing. ```Obsidian Tracker Location: content Target to Track: dvTarget:: 20.5/30.5 Tracker: searchType: dvField, searchTarget: dvTarget[0], dvTarget[1] Get: V ``` -------------------------------- ### Getting Start Date of a Dataset Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Expressions.md Shows how to retrieve the start date of a dataset using the `startDate()` function in Obsidian Tracker expressions. It uses the first available Y dataset if the input dataset is missing. ```Tracker Expressions startDate(Dataset): Date ``` -------------------------------- ### Track Blood Pressure Values by Tag Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track blood pressure readings, which consist of two numerical values, using tags in the content. It uses the 'tag' search type and specifies the target with array indexing for the values. ```Obsidian Tracker Location: content Target to Track: #blood-pressure:180/120 Tracker: searchType: tag, searchTarget: blood-pressure[0], blood-pressure[1] Get: V ``` -------------------------------- ### Track File Metadata Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track file metadata such as size, creation date, modification date, word count, character count, and sentence count. It uses the 'fileMeta' search type and specifies the metadata field as the target. ```Obsidian Tracker Location: file meta Target to Track: meta data from files (size, cDate, mDate, numWords, numChars, numSentences) Tracker: searchType: fileMeta, searchTarget: size Get: V ``` -------------------------------- ### Track Dataview Field Values Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking values from Dataview fields within the content. It uses the 'dvField' search type and specifies the Dataview field name as the target. ```Obsidian Tracker Location: content Target to Track: dvTarget:: 20.5 Tracker: searchType: dvField, searchTarget: dvTarget Get: V ``` -------------------------------- ### Track Email Addresses Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track email addresses within the content using a regular expression. It uses the 'text' search type and a regex pattern for email validation. ```Obsidian Tracker Location: content Target to Track: test@gmail.com test@hotmail.com Tracker: searchType: text, searchTarget: '.+\@.+\..+' Get: O ``` -------------------------------- ### Track Numerical Values with Regex Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking numerical values associated with a specific text pattern using a regular expression. It uses the 'text' search type and a regex with a named capture group for the value. ```Obsidian Tracker Location: content Target to Track: #weightlifting: 50 Tracker: searchType: text, searchTarget: 'weightlifting: (?[\-]?[0-9]+[\.][0-9]+|[\-]?[0-9]+)' Get: V ``` -------------------------------- ### Pie Chart with Data from Notes Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Visualizes data aggregated from notes using the `dataset()` and `sum()` functions. This allows for creating charts based on summarized information stored within Obsidian notes. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you folder: diary datasetName: Done, NotDone pie: title: Love is Action data: '{{sum(dataset(0))}},{{sum(dataset(1))}}' dataColor: '#4daf4a,#377eb8' label: Say👍,Not Say💔 ratioInnerRadius: 0.3 ``` -------------------------------- ### Track Multiple Values with Complex Regex Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking multiple numerical values from a text string using a complex regular expression with multiple capture groups. It uses the 'text' search type. ```Obsidian Tracker Location: content Target to Track: myvalues 1/2/3 Tracker: searchType: text, searchTarget: 'myvalues\s+(?[0-9]+)/([0-9]+)/([0-9]+), myvalues\s+([0-9]+)/(?[0-9]+)/([0-9]+), myvalues\s+([0-9]+)/([0-9]+)/(?[0-9]+)' Get: V ``` -------------------------------- ### Track Dataview Field Values with Separator Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example demonstrates tracking Dataview field values that are separated by a comma. It uses the 'dvField' search type and specifies a 'comma' separator in the tracker settings. ```Obsidian Tracker Location: content Target to Track: dvTarget:: 20.5, 30.5 Tracker: searchType: dvField, searchTarget: dvTarget[0], dvTarget[1] separator: 'comma' Get: V ``` -------------------------------- ### Track Specific Text Characters Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to track occurrences of specific characters or symbols within the content. It uses the 'text' search type and specifies the character as the target. ```Obsidian Tracker Location: content Target to Track: ⭐ Tracker: searchType: text, searchTarget: ⭐ Get: O ``` -------------------------------- ### dvField: Extract First Value from Multiple Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Shows how to extract the first value from a Dataview query result using array indexing `[0]` in the `searchTarget` for dvField. ```tracker searchType: dvField searchTarget: dataviewTarget1[0] folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: blue ``` -------------------------------- ### Track Text with Regex Capture Group Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Examples.md This example shows how to extract a numerical value from a text string using a regular expression with a named capture group. It uses the 'text' search type. ```Obsidian Tracker Location: content Target to Track: I walked 10000 steps today. Tracker: searchType: text, searchTarget: 'walked\s+(?[0-9]+)\s+steps' Get: V ``` -------------------------------- ### Obsidian Tracker Date Format Handling Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md This snippet covers the acceptance of ISO-8601 dates and relative date inputs for `startDate` and `endDate` in Obsidian Tracker. It provides examples for testing these date format functionalities. ```markdown ```markdown - Accept ISO-8601 date as `dateFormat` ([examples](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDateFormats.md#iso-8601-date-format)) - Relative date input for `startDate` and `endDate` ([examples](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDateFormats.md#relative-date-input-for-startdate-and-enddate)) ``` ``` -------------------------------- ### dvField: Multiple Values Separated by '/' Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Demonstrates how dvField handles multiple values from a Dataview query when they are separated by a forward slash (default behavior), specifying different line colors. ```tracker searchType: dvField searchTarget: dataviewTarget1[0], dataviewTarget1[1] folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: green, red ``` -------------------------------- ### dvField: Field with Space in Search Target Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Demonstrates using a dvField with a search target that includes a space, 'Make Progress', while maintaining the same folder, date range, and line color settings. ```tracker searchType: dvField searchTarget: Make Progress folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: yellow ``` -------------------------------- ### dvField: Simple Inline Field Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md This snippet shows a basic dvField configuration for a Dataview query, targeting 'dataviewTarget' within the 'diary' folder, with a specified date range and a green line color. ```tracker searchType: dvField searchTarget: dataviewTarget folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: green ``` -------------------------------- ### dvField: Field with Dash in Search Target Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Illustrates configuring a dvField with a search target containing a dash, 'Make-Progress', specifying the 'diary' folder, date range, and a red line color. ```tracker searchType: dvField searchTarget: Make-Progress folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: red ``` -------------------------------- ### Normalize Dataset with Dataview Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md Shows how to use the `normalize()` function in conjunction with `setMissingValues()` and `sum()` for data processing. This example sets missing values to -1, normalizes the dataset, and then calculates the sum. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-04 summary: template: 'Set missing values to -1, do normalization then do summation: {{sum( normalize( setMissingValues(dataset(0), -1) ) )::i}} <-- should be 3' ``` ``` -------------------------------- ### Pie Chart with Multiple External Labels Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Demonstrates how to manage multiple external labels to prevent overlap, ensuring all labels are visible and distinct. This configuration is suitable for complex pie charts with many slices. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you datasetName: Done, NotDone pie: label: '% {{0.5/11*100}}%, B {{0.4/11*100}}%, C {{0.1/11*100}}%, D {{8/11*100}}%, E {{9.7/11*100}}%, F {{0.3/28.5*100}}%' extLabel: 'A {{0.5/11*100}}%, B {{0.4/11*100}}%, C {{0.1/11*100}}%, D {{8/11*100}}%, E {{9.7/11*100}}, F {{0.3/11*100}}%' data: '0.5, 0.4, 0.1, 8, 9.7, 0.3' dataColor: '#4daf4a,#377eb8,#ff7f00,#984ea3,#e41a1c,#aaaaaa' ratioInnerRadius: 0.4 hideLabelLessThan: 0.03 showExtLabelOnlyIfNoLabel: true ``` -------------------------------- ### Tracker: Regex Prefix/Suffix with YYYYMMDD Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDateFormats.md This example shows using regular expressions for `dateFormatPrefix` and `dateFormatSuffix` to parse dates from filenames like 'Jeffrey-20210101-Journal'. It tracks 'exercise-pushup' data. ```tracker searchType: tag searchTarget: exercise-pushup folder: diary dateFormat: YYYYMMDD dateFormatPrefix: '(Jeffrey-|Lucas-)' dateFormatSuffix: '(-Journal|-Diary)' startDate: 20210101 endDate: 20210105 line: title: PushUp yAxisLabel: Count yAxisUnit: times lineColor: yellow ``` -------------------------------- ### Get Start Date of Maximum Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `maxStreakStart(Dataset)` function returns the start date of the longest streak found in the dataset, providing context for the period of maximum consistency. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-09 summary: template: 'The start date of maximum streak: {{maxStreakStart()}} <-- should be 2021-01-02' ``` -------------------------------- ### Pie Chart with Arithmetic Expressions Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Generates a pie chart where the data values are derived from arithmetic expressions. This allows for dynamic data generation based on calculations within the tracker configuration. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you datasetName: Done, NotDone pie: title: Arithmetic data: '{{1 + 1}}, {{2 * 2}}, {{12/ 2}}, {{1+(2+3*2)-1}}, {{27%17}}' label: '% {{2/30*100}}%, {{4/30*100}}%, {{6/30*100}}%, {{8/30*100}}%, {{10/30*100}}%' dataColor: '#4daf4a,#377eb8,#ff7f00,#984ea3,#e41a1c' ratioInnerRadius: 0.5 ``` -------------------------------- ### Pie Chart with Legend Customization Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Configures a pie chart with custom data names for the legend and controls the legend's visibility and position. This enhances the clarity and interpretability of the chart. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you datasetName: Done, NotDone pie: title: Manual Input Data label: '% {{2/30*100}}%, {{4/30*100}}%, {{6/30*100}}%, {{8/30*100}}%, {{10/30*100}}%' data: '2, 4, 6, 8, 10' dataColor: '#4daf4a,#377eb8,#ff7f00,#984ea3,#e41a1c' dataName: Data1, Data2, Data3, Data4, Data5 ratioInnerRadius: 0.5 showLegend: true legendPosition: right legendOrientation: vertical ``` -------------------------------- ### Style Star Count Summary Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestSummary.md This example shows how to search for notes containing the '⭐' character in the 'diary' folder and display the total count of stars with custom styling, including font size, color, and margins. ```tracker searchType: text searchTarget: ⭐ folder: diary summary: template: "I have {{sum()}} stars in total." style: "font-size:20px;color:yellow;margin-left: 50px;margin-top:00px;" ``` -------------------------------- ### Obsidian Tracker Command Help Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md This update adds commands to help users create Tracker code blocks within Obsidian, simplifying the process of setting up data tracking and visualization. ```markdown ```markdown - Add commands help create Tracker code blocks ``` ``` -------------------------------- ### Get Start Date of Current Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `currentStreakStart(Dataset)` function returns the start date of the current ongoing streak in the dataset. This helps track the beginning of the current period of consistency. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-24 summary: template: 'The start date of current streak: {{currentStreakStart()}} <-- should be 2021-01-24' ``` -------------------------------- ### Get Start Date of Maximum Breaks Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `maxBreaksStart(Dataset)` function returns the start date of the period with the maximum number of breaks in the dataset, indicating when a significant disruption pattern began. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-09 summary: template: 'The start date of maximum breaks: {{maxBreaksStart()}} <-- should be 2021-01-07' ``` -------------------------------- ### Get Start Date of Current Breaks Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `currentBreaksStart(Dataset)` function returns the start date of the current period containing breaks in the dataset. This helps identify when interruptions began in the ongoing consistency. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-22 summary: template: 'The start date of current breaks: {{currentBreaksStart()}} <-- should be 2021-01-22' ``` -------------------------------- ### Obsidian Tracker X-Dataset Support Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md This update enables Obsidian Tracker to use datasets with date values as the x-axis dataset, improving the ability to create time-series visualizations. Examples are provided for demonstration. ```markdown ```markdown - Allow using dataset with date values as xDataset ([examples](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestXDataset.md)) ``` ``` -------------------------------- ### Pie Chart with Manual Data Input Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Creates a pie chart using manually provided numerical data and corresponding labels. The `data` parameter takes a comma-separated list of values, and `label` provides the text for each slice, often including calculated percentages. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you pie: title: Pie Chart label: '% {{2/30*100}}%, {{4/30*100}}%, {{6/30*100}}%, {{8/30*100}}%, {{10/30*100}}%' data: 2, 4, 6, 8, 10 dataColor: '#4daf4a,#377eb8,#ff7f00,#984ea3,#e41a1c' ratioInnerRadius: 0.0 ``` -------------------------------- ### Get Start Date of Dataset Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `startDate(Dataset)` function retrieves the earliest date present in the dataset, marking the beginning of the data range being analyzed. ```tracker searchType: dvField searchTarget: dataviewTarget folder: /diary endDate: 2021-01-03 summary: template: 'Start date: {{startDate()}} <-- should be 2021-01-01' ``` -------------------------------- ### Pie Chart with External Labels Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Creates a pie chart where labels are displayed outside the chart slices, using the `extLabel` parameter. This is useful for providing additional context or when internal labels might overlap. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you datasetName: Done, NotDone pie: label: '% {{0.5/28.5*100}}%, {{4/28.5*100}}%, {{6/28.5*100}}%, {{8/28.5*100}}%, {{10/28.5*100}}%' extLabel: 'DataA {{0.5/28.5*100}}%, DataB, DataC, DataD, DataE' data: '0.5, 4, 6, 8, 10' dataColor: '#4daf4a,#377eb8,#ff7f00,#984ea3,#e41a1c' ratioInnerRadius: 0.6 ``` -------------------------------- ### Track Weight Data with Summary Template Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestSummary.md This snippet demonstrates how to search for notes tagged with 'weight' in the 'diary' folder and generate a summary template showing minimum, maximum, median, and average weight values. ```tracker searchType: tag searchTarget: weight folder: diary summary: template: "Minimum: {{min()}}kg\nMaximum: {{max()}}kg\nMedian: {{median()}}kg\nAverage: {{average()}}kg" ``` -------------------------------- ### Multiple Targets Configuration Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/TargetEvaluation.md Demonstrates how to configure multiple search targets, types, and dataset names. It also shows how to apply multiple values to parameters like lineColor for corresponding datasets. ```yaml searchTarget: target0, target1, target2, ...... searchType: type0, type1, type2, ..... datasetName: dataset0, dataset1, dataset2, ...... line: lineColor: red, blue, yellow ``` -------------------------------- ### Finding Start Date of Current Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Expressions.md Explains how to find the start date of the current continuous streak in a dataset using `currentStreakStart()` in Obsidian Tracker expressions. It uses the first available Y dataset if the input dataset is missing. ```Tracker Expressions currentStreakStart(Dataset): Date ``` -------------------------------- ### Finding Start Date of Maximum Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Expressions.md Explains how to find the start date of the longest continuous streak in a dataset using `maxStreakStart()` in Obsidian Tracker expressions. It uses the first available Y dataset if the input dataset is missing. ```Tracker Expressions maxStreakStart(Dataset): Date ``` -------------------------------- ### Summarize Clean-Up Progress Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/HabitTracker.md Configures a summary for 'clean-up' tags in the 'diary' folder, displaying the number of days since the last break. ```tracker searchType: tag searchTarget: clean-up folder: diary endDate: 2021-01-31 summary: template: "Last Break: {{currentBreaks()}} day(s)" ``` -------------------------------- ### Tracker: Query Weight and Exercise-Pushup Tags Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestMultipleTargetsMultipleValues.md Retrieves and plots data from multiple value-attached tags ('weight' and 'exercise-pushup') within a specified date range. It configures line colors, y-axis locations, and legend display for the visualization. ```tracker searchType: tag searchTarget: weight, exercise-pushup folder: diary startDate: 2021-01-01 endDate: 2021-01-31 datasetName: Weight, Pushup line: title: Multiple Targets lineColor: yellow, red yAxisLocation: left, right yAxisLabel: Weight, Count showLegend: true ``` -------------------------------- ### Finding Start Date of Current Break Days Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Expressions.md Explains how to find the start date of the current period of break days in a dataset using `currentBreaksStart()` in Obsidian Tracker expressions. It uses the first available Y dataset if the input dataset is missing. ```Tracker Expressions currentBreaksStart(Dataset): Date ``` -------------------------------- ### Configure Summary Text Block Parameters Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/InputParameters.md Defines the content and styling for summary text blocks, allowing custom templates and CSS styles. ```YAML summary: template: "Total: {{ sum(values) }} {{ unit }} " style: "font-weight: bold; color: green;" ``` -------------------------------- ### Finding Start Date of Maximum Break Days Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/Expressions.md Explains how to find the start date of the longest period of break days in a dataset using `maxBreaksStart()` in Obsidian Tracker expressions. It uses the first available Y dataset if the input dataset is missing. ```Tracker Expressions maxBreaksStart(Dataset): Date ``` -------------------------------- ### Retrieve Data from Specified Files (Obsidian Tracker) Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md Adds parameters (`file`, `specifiedFilesOnly`, `fileContainsLinkedFiles`, `fileMultiplierAfterLink`) to retrieve data from specific files. Also introduces `textValueMap` for text-to-value conversion. ```markdown - Add parameters `file`, `specifiedFilesOnly`, `fileContainsLinkedFiles`, and `fileMultiplierAfterLink` to retrieve data from specified files ([examples](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestSpecifiedFiles.md)) - Add a parameter `textValueMap` to convert texts or emojis to specified values ([examples](https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestTextValueMap.md)) ``` -------------------------------- ### dvField: Multiple Values Separated by '\\,' Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Shows how to specify an escaped comma '\\,' as the separator for multiple values in a dvField Dataview query. ```tracker searchType: dvField searchTarget: dataviewTarget3[0], dataviewTarget3[1] folder: diary startDate: 2021-01-01 endDate: 2021-01-31 separator: '\\,' line: title: dvField lineColor: green, red ``` -------------------------------- ### Obsidian Tracker Summary Output Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md Introduces a new 'summary' output type for Obsidian Tracker, providing a concise overview or summary of the tracked data. This can be useful for quick insights. ```markdown ```markdown - New output type 'summary' ``` ``` -------------------------------- ### Get End Date of Dataset Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `endDate(Dataset)` function returns the latest date within the dataset, indicating the end of the data range. ```tracker searchType: dvField searchTarget: dataviewTarget folder: /diary endDate: 2021-01-03 summary: template: 'End date: {{endDate()}} <-- should be 2021-01-03' ``` -------------------------------- ### dvField: Custom Multiple Value Separator '@' Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Demonstrates using a custom separator, '@', for handling multiple values from a Dataview query within the dvField configuration. ```tracker searchType: dvField searchTarget: dataviewTarget2[0], dataviewTarget2[1] separator: '@' folder: diary startDate: 2021-01-01 endDate: 2021-01-31 line: title: dvField lineColor: green, red ``` -------------------------------- ### Configure Weight Log Chart Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/WeightTracker.md This configuration sets up a weight tracker chart. It searches for entries tagged with 'weight' in the 'diary' folder, displays the data as a line chart with 'Weight' on the y-axis in 'kg', and uses a yellow line color. The chart is fitted to the panel width with a 20:9 aspect ratio. ```tracker searchType: tag searchTarget: weight folder: diary startDate: 2021-01-01 endDate: 2021-01-31 aspectRatio: 20:9 fitPanelWidth: 1 line: title: Weight Log yAxisLabel: Weight yAxisUnit: kg lineColor: yellow ``` -------------------------------- ### Obsidian Tracker Node.js Module Removal Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md This update removes dependencies on Node.js modules for Obsidian Tracker and adds example markdown files to demonstrate its usage. ```markdown ```markdown - Remove dependencies to Node.js modules - Add example markdown files ``` ``` -------------------------------- ### Summary of Days Saying Love Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestPieChart.md Generates a summary text based on aggregated data, counting the number of days a specific phrase was said. It uses the `sum()` function with a specific format specifier `::i` for integer output. ```tracker searchType: task.done, task.notdone searchTarget: Say I love you, Say I love you folder: diary summary: template: "How many days I said love: {{sum(dataset(0))::i}}\nHow many days I didn't say love: {{sum(dataset(1))::i}}" ``` -------------------------------- ### Get Date of Maximum Value from Dataset Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `maxDate(Dataset)` function returns the date associated with the maximum value in a dataset, indicating when the highest value was recorded. ```tracker searchType: dvField searchTarget: dataviewTarget folder: /diary endDate: 2021-01-03 summary: template: 'Latest date of maximum value: {{maxDate()}} <-- should be 2021-01-01' ``` -------------------------------- ### Tracker: Date Format DD.MM.YYYY Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDateFormats.md This example shows tracking weight with the date format 'DD.MM.YYYY', using dots as separators. The startDate and endDate are formatted with this pattern. ```tracker searchType: tag searchTarget: weight folder: diary startDate: 01.01.2021 endDate: 05.01.2021 line: title: Weight Log yAxisLabel: Weight yAxisUnit: kg lineColor: yellow ``` -------------------------------- ### Add fitPanelWidth Parameter (Obsidian Tracker) Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/docs/ReleaseNotes.md Adds the `fitPanelWidth` parameter, which can be used with the 'month' and 'pie' output types to ensure charts fit the panel width. Also fixes resizing and positioning of chart tooltips. ```markdown - Allow using the parameter `fitPanelWidth` with the output type `month` and `pie` - Fixed the resizing and positioning of the chart tooltip ``` -------------------------------- ### dvField: Multiple Values Separated by 'comma' Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestDvField.md Configures dvField to use 'comma' as a custom separator for multiple values retrieved from a Dataview query, with corresponding line colors. ```tracker searchType: dvField searchTarget: dataviewTarget3[0], dataviewTarget3[1] folder: diary startDate: 2021-01-01 endDate: 2021-01-31 separator: 'comma' line: title: dvField lineColor: green, red ``` -------------------------------- ### Tracker: Minimum Setup for Single Target Calendar Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestCalendar.md Configures a basic calendar view using default colors and a specified dataset name. It targets a specific tag within a folder and sets an end date. ```tracker searchType: tag searchTarget: meditation datasetName: Meditation folder: diary endDate: 2021-01-31 month: ``` -------------------------------- ### Tracker: Initializing Calendar Month Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestCalendar.md Shows how to set the initial month displayed in the calendar, either by specifying a date in 'YYYY-MM' format or using a relative date like '-47M'. ```tracker searchType: tag searchTarget: exercise-pushup datasetName: PushUp folder: diary month: startWeekOn: threshold: 40 color: green headerMonthColor: orange dimNotInMonth: false todayRingColor: orange selectedRingColor: steelblue circleColorByValue: true showSelectedValue: true initMonth: 2021-01 ``` ```tracker searchType: tag searchTarget: exercise-pushup datasetName: PushUp folder: diary month: startWeekOn: threshold: 40 color: green headerMonthColor: orange dimNotInMonth: false todayRingColor: orange selectedRingColor: steelblue circleColorByValue: true showSelectedValue: true initMonth: -47M ``` -------------------------------- ### Get End Date of Current Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `currentStreakEnd(Dataset)` function returns the end date of the current ongoing streak in the dataset, which is typically the latest date with data. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-24 summary: template: 'The end date of current streak: {{currentStreakEnd()}} <-- should be 2021-01-24' ``` -------------------------------- ### Get End Date of Maximum Streak Source: https://github.com/pyrochlore/obsidian-tracker/blob/master/examples/TestExpression.md The `maxStreakEnd(Dataset)` function returns the end date of the longest streak in the dataset, marking the conclusion of the period of maximum consistency. ```tracker searchType: tag searchTarget: meditation folder: /diary endDate: 2021-01-09 summary: template: 'The end date of maximum streak: {{maxStreakEnd()}} <-- should be 2021-01-06' ```