Initial commit

This commit is contained in:
2022-04-09 21:22:06 +08:00
commit cdf95090d5
26 changed files with 640 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
# Daily Notes
Daily notes allow you to quickly create and access notes for today.
Try it out, run the `Foam: Open Daily Note` command.
## Shortcuts and Snippets
You can quickly open today's daily note by pressing `alt+d`.
You can also automatically open today's note via the `Foam Open Daily Note: On Startup` setting.
You can also quickly create link to your daily notes, in the configured format, using [snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets).
Type `/today` and press `enter` to link to today's note.
You can also write:
| Snippet | Date |
| ------------ | ------------- |
| `/tomorrow` | tomorrow |
| `/yesterday` | yesterday |
| `/monday` | next Monday |
| `/+1d` | tomorrow |
| `/-3d` | 3 days ago |
| `/+1w` | in a week |
| `/-1m` | one month ago |
| `/+1y` | in one year |
You get the idea ;)
## Configuration
It's possible to customize path and heading of your daily notes, by following the [dateformat masking syntax](https://github.com/felixge/node-dateformat#mask-options).
The following properties can be used:
```json
"foam.openDailyNote.directory": "journal",
"foam.openDailyNote.filenameFormat": "'daily-note'-yyyy-mm-dd",
"foam.openDailyNote.fileExtension": "mdx",
"foam.openDailyNote.titleFormat": "'Journal Entry, ' dddd, mmmm d",
```
The above configuration would create a file `journal/daily-note-2020-07-25.mdx`, with the heading `Journal Entry, Sunday, July 25`.

View File

@@ -0,0 +1,38 @@
# Graph Visualization
Foam comes with a graph visualization of your notes.
To see the graph execute the `Foam: Show Graph` command.
## Graph Navigation
With the graph you can:
- highlight a node by hovering on it, to quickly see how it's connected to the rest of your notes
- select one or more (by keeping `shift` pressed while selecting) nodes by clicking on them, to better understand the structure of your notes
- navigate to a note by clicking on it while pressing `ctrl` or `cmd`
- automatically center the graph on the currently edited note, to immediately see its connections
## Custom Graph Styles
By default, the Foam graph will use the VS Code theme, but it's possible to customize it with the `foam.graph.style` setting.
A sample configuration object is provided below, you can provide as many or as little configuration as you wish:
```json
"foam.graph.style": {
"background": "#202020",
"fontSize": 12,
"highlightedForeground": "#f9c74f",
"node": {
"note": "#277da1",
"placeholder": "#545454",
"feature": "green",
}
}
```
- `note` defines the color for regular nodes
- `placeholder` defines the color for links that don't match any existing note. This is a [[placeholder]] because no file with such name exists (see [[wikilinks]] for more info).
- `feature` shows an example of how you can use note types to customize the graph. It defines the color for the notes of type `feature`
- see [[note-properties]] for details
- you can have as many types as you want

View File

@@ -0,0 +1,31 @@
# Link Reference Definitions
When you use `[[wikilinks]]`, the [foam-vscode](https://github.com/foambubble/foam/tree/master/packages/foam-vscode) extension can generate [Markdown Link Reference Definitions](https://spec.commonmark.org/0.29/#link-reference-definitions) at the bottom of the file.
This is done to make the content of the file compatible with various Markdown tools (e.g. parsers, static site generators, VS code plugins etc), which don't support `[[wikilinks]]` directly.
This feature can be disabled by default (as it's done in the foam-template) because you don't need it to navigate your workspace, it is useful for publishing and compatibility of your notes.
## Example
The following example:
```md
- [[graph-visualization]]
```
...generates the following link reference definitions to the bottom of the file:
```md
[graph-visualization]: graph-visualization "Graph Visualization"
```
## Configuration
You can use the `foam.edit.linkReferenceDefinitions` to configure the definitions (see [[get-started-with-vscode]]):
- `withoutExtensions` (default): this works better with certain web publishing tools (e.g. GitHub pages)
- `withExtensions`: this works better with standard markdown-based tools (e.g GitHub web UI)
- `off`: this disables the generation of definitions
After changing the setting in your workspace, you can run the `Foam: Run Janitor (Experimental)` command to convert all existing definitions.

View File

@@ -0,0 +1,30 @@
---
type: feature
keywords: hello world
---
# Note Properties
At the top of the file you can have a section where you define your properties.
> Be aware that this section needs to be at the very top of the file to be valid
For example, for this file, we have:
```text
---
type: feature
keywords: hello world
---
```
Those are properties.
Properties can be used to organize your notes.
## Special Properties
Some properties have special meaning for Foam:
- the `title` property will assign the name to the note that you will see in the graph, regardless of the filename or the first heading (also see how to [[write-notes-in-foam]])
- the `type` property can be used to style notes differently in the graph (also see [[graph-visualization]])
- the `tags` property can be used to add tags to a note (see [[tags-and-tag-explorer]])

View File

@@ -0,0 +1,7 @@
# Note Templates
You can create notes from templates by running the `Foam: Create New Note from Template` command and follow the instructions.
To create a template, just add regular `.md` files in `.foam/templates` (create the directory if necessary).
Templates can use all the variables available in [VS Code Snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables).

View File

@@ -0,0 +1,17 @@
# Spell Checking
Foam comes with a spell checker.
Misspelled words are highlighted, like hellow.
You can place the cursor on top of the word, and press `cmd+.` for suggestions on how to fix the problem.
You can configure the extension in the settings, for example to:
- ignore certain files
- change the language(s)
- and much more
For more information go to the [Spellright extension page](https://marketplace.visualstudio.com/items?itemName=ban.spellright).
There are many spell checking extensions for VS Code.
Another one of our favorites is [LTeX](https://marketplace.visualstudio.com/items?itemName=valentjn.vscode-ltex&ssr=false#overview), which is a bit heavier but offers some extra functionality.

View File

@@ -0,0 +1,22 @@
---
tags: my-tag1 my-tag2
---
# Tags and Tag Explorer
## Tags
You can add tags to your notes to categorize them, or in any way you want.
There are two ways to add tags:
- you can add #tags just by writing them in the note
- another way is through [[note-properties]], as you can see at the top of this file
## Tag Explorer
In the sidebar to the left, you will see a panel called `Tag Explorer`.
You can use this panel to see the tags in your notes, and navigate them.
Notice `my-tag1` and `my-tag2`, which were added via [[note-properties]].

View File

@@ -0,0 +1,13 @@
# Wikilinks
Wikilinks are the internal links that connect the files in your knowledge base.
To create a wikilink use `[[` and type the name of another file in your repo, for example [[graph-visualization]]
You can also create a [[placeholder]].
A placeholder is a wikilink that doesn't have a target file and a link to a placeholder is styled differently so you can easily tell them apart.
They can still be helpful to highlight connections.
Open the graph with `Foam: Show Graph` command, and look at the placeholder node.
Remember, with `CTRL/CMD+click` on a wikilink you can navigate to the note, or create it (if the link is a placeholder).