Skip to content

Commit

Permalink
chore: setup docs versioning
Browse files Browse the repository at this point in the history
This allows us to keep the current version active while we edit the next version
  • Loading branch information
jamiebrynes7 committed Feb 29, 2024
1 parent 08a2010 commit bce86b3
Show file tree
Hide file tree
Showing 11 changed files with 304 additions and 50 deletions.
100 changes: 52 additions & 48 deletions docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
@@ -1,62 +1,66 @@
import { themes as prismThemes } from 'prism-react-renderer';
import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
import { themes as prismThemes } from "prism-react-renderer";
import type { Config } from "@docusaurus/types";
import type * as Preset from "@docusaurus/preset-classic";

const title = 'Todoist Sync for Obsidian';
const title = "Todoist Sync for Obsidian";
const org = "jamiebrynes7";
const project = "obsidian-todoist-plugin";

const config: Config = {
title: title,
favicon: 'img/favicon.ico',
title: title,
favicon: "img/favicon.ico",

url: `https://${org}.github.io`,
baseUrl: `/${project}/`,
organizationName: org,
projectName: project,
url: `https://${org}.github.io`,
baseUrl: `/${project}/`,
organizationName: org,
projectName: project,

onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",

i18n: {
defaultLocale: 'en',
locales: ['en'],
},
presets: [
[
'classic',
{
docs: {
sidebarPath: './sidebars.ts',
editUrl: `https://github.com/${org}/${project}/tree/main/docs/`,
},
blog: false,
theme: {
customCss: './src/css/custom.css',
},
} satisfies Preset.Options,
],
],
themeConfig: {
navbar: {
title: title,
items: [
{
href: `https://github.com/${org}/${project}`,
label: 'GitHub',
position: 'right',
},
],
i18n: {
defaultLocale: "en",
locales: ["en"],
},
presets: [
[
"classic",
{
docs: {
sidebarPath: "./sidebars.ts",
editUrl: `https://github.com/${org}/${project}/tree/main/docs/`,
},
footer: {
style: 'dark',
links: [],
blog: false,
theme: {
customCss: "./src/css/custom.css",
},
} satisfies Preset.Options,
],
],
themeConfig: {
navbar: {
title: title,
items: [
{
type: "docsVersionDropdown",
position: "right",
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
{
href: `https://github.com/${org}/${project}`,
label: "GitHub",
position: "right",
},
} satisfies Preset.ThemeConfig,
],
},
footer: {
style: "dark",
links: [],
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
} satisfies Preset.ThemeConfig,
};

export default config;
5 changes: 3 additions & 2 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
"typecheck": "tsc",
"bump-version": "docusaurus docs:version "
},
"dependencies": {
"@docusaurus/core": "3.1.1",
Expand Down Expand Up @@ -44,4 +45,4 @@
"engines": {
"node": ">=18.0"
}
}
}
2 changes: 2 additions & 0 deletions docs/versioned_docs/version-1.12.0/commands/_category_.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
label: Commands
position: 3
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions docs/versioned_docs/version-1.12.0/commands/add-task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
sidebar_position: 1
---

# Add Task

![](./add-task-modal.png)

The 'Add Todoist task' command allows you send tasks to Todoist from Obsidian. There are a few utilities to help you set the text content:

- Any text selected will be used to pre-populate the task's text
- You can append a link to the currently selected Obsidian page to the task's text by using the 'Add Todoist task with the current page' variant of the command
12 changes: 12 additions & 0 deletions docs/versioned_docs/version-1.12.0/commands/sync-with-todoist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
sidebar_position: 2
---

# Sync with Todoist

The 'Sync with Todoist' command forces the plugin to re-synchronize your labels, projects, and sections with Todoist. This can be useful if you see "Unknown Project", "Unknown Section", or "Unknown Label" in any rendered tasks.

The plugin pulls this information at startup, but will not refresh it automatically because:

- its expected that these don't change frequently
- to help avoid hitting the Todoist API rate limit
76 changes: 76 additions & 0 deletions docs/versioned_docs/version-1.12.0/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
sidebar_position: 4
---

# Configuration

There are a number of options that allow you to configure the behaviour of the plugin. These are listed below, but the settings page also gives brief descriptions.

## General

### Todoist API token

The API token used to connect to Todoist. This is stored in your vault at `.obsidian/todoist-token`. If you synchronize your vault, I recommend that you do _not_ sync this file for security reasons.

### Task fade animation

When enabled, tasks will fade-in or fade-out when tasks are added or removed respectively. Just some eye candy if you like that.

### Add parenthesis to page links

When enabled, page links added to tasks created via the [command](./commands/add-task) will be wrapped in parenthesis. This may help identifying links if you primarily use Todoist on mobile platforms.

### Debug logging

When enabled, the plugin will print extra information to the Developer Tools console. You generally do not need to enable this.

## Auto-refresh

### Auto-refresh enabled

When enabled, all queries will auto-refresh themselves according to the interval in the settings.

### Auto-refresh interval

This defines, in seconds, the interval between automatic refreshes. This is only used when:

- the auto-refresh is enabled in the settings
- the query does not define an explicit interval

## Rendering

### Render descriptions

**Please note: This is deprecated in favor of query-based control of rendering. This will be removed in a future release.**

When enabled, queries will render the task description under the task content.

### Render dates

**Please note: This is deprecated in favor of query-based control of rendering. This will be removed in a future release.**

When enabled, queries will render the task due date under the task content.

### Render date icon

When enabled, queries will render an icon accompanying the due date.

### Render project & section

**Please note: This is deprecated in favor of query-based control of rendering. This will be removed in a future release.**

When enabled, queries will render the project & section under the task content.

### Render project & section icon

When enabled, queries will render an icon accompanying the project & section.

### Render labels

**Please note: This is deprecated in favor of query-based control of rendering. This will be removed in a future release.**

When enabled, queries will render the labels under the task content.

### Render labels icon

When enabled, queries will render an icon accompanying the labels.
24 changes: 24 additions & 0 deletions docs/versioned_docs/version-1.12.0/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
sidebar_position: 1
---

# Overview

The Todoist Sync for Obsidian is an _**unofficial**_ plugin that allows you to integrate your Todoist tasks in your Obsidian vault. This integration is mostly one way, from Todoist into Obsidian. There is a limited ability to modify your Todoist tasks, but this functionality will be improved in the future.

This plugin is designed to work on both desktop and mobile Obsidian clients.

<!-- TODO: Add video here -->

## Installation

There are a few steps to getting up and running with this plugin:

1. Install the plugin from Obsidian in the 'Community plugins' tab in the settings.
2. After installing the plugin, enable it.
3. You will get a prompt after enabling the plugin asking for your Todoist API token. You can find this in the [Todoist application settings](https://app.todoist.com/app/settings/integrations/developer).
4. Enter your token and select 'Submit'.

## What's next?

Once you've set up the plugin you can explore adding [query blocks](./query-blocks), look at how to [add tasks from Obsidian](./commands/add-task), or explore the [plugin configuration](./configuration).
112 changes: 112 additions & 0 deletions docs/versioned_docs/version-1.12.0/query-blocks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
sidebar_position: 2
---

# Query Blocks

This plugin uses the concept of [filters](https://todoist.com/help/articles/introduction-to-filters-V98wIH) to fetch data from Todoist. To create a query block, insert a code block like the following in any note:

````
```todoist
filter: "today | overdue"
```
````

This query will fetch all tasks that are due either today or are overdue and will render them in place of this code block.

## Options

The query is defined as [YAML](https://yaml.org/) and there are a number of options available.

### `filter`

The filter option is **required** and should be a valid [Todoist filter](https://todoist.com/help/articles/introduction-to-filters-V98wIH). Note that this must be the content of the filter, you cannot refer to a filter that already exists in your Todoist account.

There are a few unsupported filters, these are tracked in [this GitHub issue](https://github.com/jamiebrynes7/obsidian-todoist-plugin/issues/34):

- Wildcard filters do not work as expected. E.g. - `@*ball`
- You cannot combine multiple filters with commas. E.g. - `today | overdue, p1`

### `name`

If you want to have an embedded header rendered with your query, you can use the `name` option. This will render a `<h4>` element above your tasks.

For example:

````
```todoist
name: "Today & Overdue"
filter: "today | overdue"
```
````

### `autorefresh`

The `autorefresh` option allows you to specify the number of seconds between automatic refreshes. This takes precedence over the plugin level setting. Omitting this option means the query will follow the plugin level settings.

For example:

````
```todoist
filter: "today | overdue"
autorefresh: 120
```
````

### `sorting`

The `sorting` property allows you to specify the ordering for how your tasks are rendered. This is specified as a list, where we sort in the order of the properties in the list. The possible values are:

- `date` or `dateAscending`: sorts tasks in ascending order based on due date
- `dateDescending`: sorts tasks in descending order based on due date
- `priority` or `priorityAscending`: sorting tasks in ascending order based on priority
- `priorityDescending`: sorts tasks in descending order based on priority
- `order`: sorts task according to the ordering defined in Todoist
- `dateAdded` or `dateAddedAscending`: sorts tasks in ascending order based on the date the task was added
- `dateAddedDescending`: sorts tasks in descending order based on the date the task was added

If no sorting option is provided, tasks will be sorted by their Todoist order.

For example:

````
```todoist
filter: "today | overdue"
sorting:
- date
- priority
```
````

### `group`

The `group` property controls whether tasks are grouped into projects when rendered. This is a simple true or false option, further improvements to the grouping capabilities are planned.

````
```todoist
filter: "today | overdue"
group: true
```
````

### `show`

The `show` property controls which elements of the task metadata to render. This will override the plugin level settings if provided. If omitted, all task metadata will be rendered.

The possible values are:

- `due` or `date`: render the due date of the task
- `description`: render the description of the task
- `project`: render the project (and section, if applicable) of the task
- `labels`: render the labels of the task

For example:

````
```todoist
filter: "today | overdue"
show:
- due
- project
```
````
8 changes: 8 additions & 0 deletions docs/versioned_sidebars/version-1.12.0-sidebars.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"tutorialSidebar": [
{
"type": "autogenerated",
"dirName": "."
}
]
}
3 changes: 3 additions & 0 deletions docs/versions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[
"1.12.0"
]

0 comments on commit bce86b3

Please sign in to comment.