From cdf95090d59685e61e512b1d60d230528bc20e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AD=B1=E5=82=91?= Date: Sat, 9 Apr 2022 21:22:06 +0800 Subject: [PATCH] Initial commit --- .foam/templates/your-first-template.md | 25 +++++++ .vscode/extensions.json | 17 +++++ .vscode/foam.json | 4 + .vscode/settings.json | 25 +++++++ .vscode/spellright.dict | 2 + _layouts/home.html | 18 +++++ _layouts/page.html | 18 +++++ assets/css/style.scss | 33 +++++++++ attachments/foam-icon.png | Bin 0 -> 16649 bytes docs/features/daily-notes.md | 42 +++++++++++ docs/features/graph-visualization.md | 38 ++++++++++ docs/features/link-reference-definitions.md | 31 ++++++++ docs/features/note-properties.md | 30 ++++++++ docs/features/note-templates.md | 7 ++ docs/features/spell-checking.md | 17 +++++ docs/features/tags-and-tag-explorer.md | 22 ++++++ docs/features/wikilinks.md | 13 ++++ docs/how-to/get-started-with-vscode.md | 43 +++++++++++ docs/how-to/paste-images-from-clipboard.md | 14 ++++ docs/how-to/shortcut-list.md | 13 ++++ .../use-keyboard-shortcuts-for-editing.md | 44 +++++++++++ docs/how-to/write-notes-in-foam.md | 69 ++++++++++++++++++ getting-started.md | 50 +++++++++++++ inbox.md | 12 +++ readme.md | 45 ++++++++++++ todo.md | 8 ++ 26 files changed, 640 insertions(+) create mode 100644 .foam/templates/your-first-template.md create mode 100644 .vscode/extensions.json create mode 100644 .vscode/foam.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/spellright.dict create mode 100644 _layouts/home.html create mode 100644 _layouts/page.html create mode 100644 assets/css/style.scss create mode 100644 attachments/foam-icon.png create mode 100644 docs/features/daily-notes.md create mode 100644 docs/features/graph-visualization.md create mode 100644 docs/features/link-reference-definitions.md create mode 100644 docs/features/note-properties.md create mode 100644 docs/features/note-templates.md create mode 100644 docs/features/spell-checking.md create mode 100644 docs/features/tags-and-tag-explorer.md create mode 100644 docs/features/wikilinks.md create mode 100644 docs/how-to/get-started-with-vscode.md create mode 100644 docs/how-to/paste-images-from-clipboard.md create mode 100644 docs/how-to/shortcut-list.md create mode 100644 docs/how-to/use-keyboard-shortcuts-for-editing.md create mode 100644 docs/how-to/write-notes-in-foam.md create mode 100644 getting-started.md create mode 100644 inbox.md create mode 100644 readme.md create mode 100644 todo.md diff --git a/.foam/templates/your-first-template.md b/.foam/templates/your-first-template.md new file mode 100644 index 0000000..5f85612 --- /dev/null +++ b/.foam/templates/your-first-template.md @@ -0,0 +1,25 @@ +# Foam Note Templates + +Foam includes note templates! +This allows you to easily create notes that have similar structure without having to use copy/paste :) + +Templates support the [VS Code's Snippet Syntax](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax), which means you can: +- add variables to the newly created note +- add tabstop to automatically navigate to the key parts of the note, just like a form +Below you can see an example showing a todo list and a timestamp. + +## Todo List + +1. ${1:First tabstop} +2. ${2:A second tabstop} +3. ${3:A third tabstop} + +Note Created: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} + +--- + +Try out the above example by running the `Foam: Create New Note From Template` command and selecting the `your-first-template` template. Notice what happens when your new note is created! + +To remove this template, simply delete the `.foam/templates/your-first-template.md` file. + +Enjoy! diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..7b74b17 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,17 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + // Foam's own extension + "foam.foam-vscode", + + // Tons of markdown goodies (lists, tables of content, so much more) + "yzhang.markdown-all-in-one", + + // Image-pasting for markdown + "mushan.vscode-paste-image", + + // Spell checking for text, markdown and latex + "ban.spellright", + ] +} diff --git a/.vscode/foam.json b/.vscode/foam.json new file mode 100644 index 0000000..38a4eab --- /dev/null +++ b/.vscode/foam.json @@ -0,0 +1,4 @@ +{ + "purpose": "this file exists to tell the foam-vscode plugin that it's currently in a foam workspace", + "future": "we may use this for custom configuration" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d497abc --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,25 @@ +{ + "editor.minimap.enabled": false, + "editor.wrappingIndent": "indent", + "editor.overviewRulerBorder": false, + "editor.lineHeight": 24, + "[markdown]": { + "editor.quickSuggestions": true + }, + "files.defaultLanguage": "markdown", + "files.exclude": { + "**/node_modules": true + }, + "files.watcherExclude": { + "**/node_modules": true + }, + "foam.edit.linkReferenceDefinitions": "off", + "foam.openDailyNote.directory": "journal", + "foam.openDailyNote.titleFormat": "fullDate", + "git.enableSmartCommit": true, + "git.postCommitCommand": "sync", + "markdown.preview.breaks": true, + "pasteImage.path": "${projectRoot}/attachments", + "pasteImage.showFilePathConfirmInputBox": true, + "prettier.singleQuote": false, +} diff --git a/.vscode/spellright.dict b/.vscode/spellright.dict new file mode 100644 index 0000000..29e285f --- /dev/null +++ b/.vscode/spellright.dict @@ -0,0 +1,2 @@ +wikilink +spellright diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..33d9afb --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,18 @@ +--- +layout: default +--- + +{{ content }} + + diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..33d9afb --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,18 @@ +--- +layout: default +--- + +{{ content }} + + diff --git a/assets/css/style.scss b/assets/css/style.scss new file mode 100644 index 0000000..a6fd4c6 --- /dev/null +++ b/assets/css/style.scss @@ -0,0 +1,33 @@ +--- +--- + +@import "{{ site.theme }}"; + +.markdown-body { + max-width: 800px; + font-size: 16px; +} + +.markdown-body p { + font-size: 16px; + line-height: 1.9em; + margin-bottom: 1.2em; +} + +.markdown-body li { + line-height: 1.9em; +} + +input.task-list-item-checkbox { + margin-right: 4px; +} + +h1, +h2, +h3, +h4, +h5, +blockquote { + font-family: Constantia, "Lucida Bright", Lucidabright, "Lucida Serif", Lucida, + "DejaVu Serif", "Bitstream Vera Serif", "Liberation Serif", Georgia, serif; +} diff --git a/attachments/foam-icon.png b/attachments/foam-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03c8d50b68d116b06cd2ea25a3e28186e96db87c GIT binary patch literal 16649 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 literal 0 HcmV?d00001 diff --git a/docs/features/daily-notes.md b/docs/features/daily-notes.md new file mode 100644 index 0000000..f089cd9 --- /dev/null +++ b/docs/features/daily-notes.md @@ -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`. diff --git a/docs/features/graph-visualization.md b/docs/features/graph-visualization.md new file mode 100644 index 0000000..614a99d --- /dev/null +++ b/docs/features/graph-visualization.md @@ -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 diff --git a/docs/features/link-reference-definitions.md b/docs/features/link-reference-definitions.md new file mode 100644 index 0000000..676591b --- /dev/null +++ b/docs/features/link-reference-definitions.md @@ -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. diff --git a/docs/features/note-properties.md b/docs/features/note-properties.md new file mode 100644 index 0000000..d65da71 --- /dev/null +++ b/docs/features/note-properties.md @@ -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]]) diff --git a/docs/features/note-templates.md b/docs/features/note-templates.md new file mode 100644 index 0000000..37c85d5 --- /dev/null +++ b/docs/features/note-templates.md @@ -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). diff --git a/docs/features/spell-checking.md b/docs/features/spell-checking.md new file mode 100644 index 0000000..7fd08b0 --- /dev/null +++ b/docs/features/spell-checking.md @@ -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. diff --git a/docs/features/tags-and-tag-explorer.md b/docs/features/tags-and-tag-explorer.md new file mode 100644 index 0000000..ea9bfb0 --- /dev/null +++ b/docs/features/tags-and-tag-explorer.md @@ -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]]. diff --git a/docs/features/wikilinks.md b/docs/features/wikilinks.md new file mode 100644 index 0000000..02adb70 --- /dev/null +++ b/docs/features/wikilinks.md @@ -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). diff --git a/docs/how-to/get-started-with-vscode.md b/docs/how-to/get-started-with-vscode.md new file mode 100644 index 0000000..859e4f7 --- /dev/null +++ b/docs/how-to/get-started-with-vscode.md @@ -0,0 +1,43 @@ +# Getting started with VS Code + +VS Code is a powerful text editor, hidden behind a simple interface. + +VS Code supports various **keyboard shortcuts**, the most important for us are: + +| Shortcut | Action | +| ------------- | ---------------------------- | +| `cmd+N` | create a new file | +| `cmd+S` | save the current file | +| `cmd+O` | open a file | +| `cmd+P` | use quickpick to open a file | +| `cmd+shift+P` | invoke a command (see below) | + +For more information, see the [VS Code keyboard cheat sheets](https://code.visualstudio.com/docs/getstarted/keybindings#_keyboard-shortcuts-reference), where you can also see how to customize your keybindings. + +## Commands + +Commands make VS Code extremely powerful. + +To invoke a command, press `cmd+shift+P` and select the command you want to execute. +For example, to see the Foam graph: + +- press `cmd+shift+P` +- start typing `show graph` +- select the `Foam: Show Graph` command + +And watch the magic unfold. + +For more information on commands, see [commands on the VS Code site](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette). + +If you want to learn more about VS Code, check out their [website](https://code.visualstudio.com/docs#first-steps). + +## Panels + +You can see a few panels on the left, including: + +- `Outline`: this panel shows you the structure of the file based on the headings +- `Tag Explorer`: This shows you the tags in your workspace, see [[tags-and-tag-explorer]] for more information on tags + +## Settings + +To view or change the settings in VS Code, press `cmd+,` diff --git a/docs/how-to/paste-images-from-clipboard.md b/docs/how-to/paste-images-from-clipboard.md new file mode 100644 index 0000000..759c17b --- /dev/null +++ b/docs/how-to/paste-images-from-clipboard.md @@ -0,0 +1,14 @@ +# Paste Images from Clipboard + +You can paste an image from the clipboard with `cmd+alt+v`. + +Images are automatically copied to the `/attachments` folder and a reference is added in the file where you pasted them. + +A prompt will ask you to confirm the name of the image, to disable it set `"pasteImage.showFilePathConfirmInputBox": false,` in the settings. + +To change the location where the image is created, change the `pasteImage.path` property, e.g.: + +- `${currentFileDir}`: save the image next to the file +- `${currentFileDir}/images`: create an `images` directory next to the file and save the image there + +For more info check the [vscode-paste-image](https://github.com/mushanshitiancai/vscode-paste-image) extension page. diff --git a/docs/how-to/shortcut-list.md b/docs/how-to/shortcut-list.md new file mode 100644 index 0000000..096eadf --- /dev/null +++ b/docs/how-to/shortcut-list.md @@ -0,0 +1,13 @@ +# Shortcut-List + +You can use either the name or the id to find each shortcut in the settings (File > Preferences > Keyboard Shortcuts) and find out what it is bound to on your system and change it according to your liking. + +| Shortcut | Name | ID | Extension | Use | +| -------------- | --------------- | --------------------------------------- | ------------------- | ----------------------------------- | +| `alt+c` | \- | markdown.extension.checkTaskList | Markdown All in One | Toggle TODO items. | +| `cmd+b` | \- | markdown.extension.editing.toggleBold | Markdown All in One | Make selection bold. | +| `cmd+i` | \- | markdown.extension.editing.toggleItalic | Markdown All in One | Make selection italic. | +| `ctrl+shift+f` | Format Document | editor.action.formatDocument | Base | Format tables | +| `cmd+shift+f` | Find files | workbench.action.findInFiles | Base | Search in workspace. | +| `cmd+shift+e` | Show Explorer | workbench.view.explorer | Base | Show the file explorer. | +| `cmd+alt+v` | Paste Image | extension.pasteImage | Paste Image | Paste an image from your clipboard. | diff --git a/docs/how-to/use-keyboard-shortcuts-for-editing.md b/docs/how-to/use-keyboard-shortcuts-for-editing.md new file mode 100644 index 0000000..36bda21 --- /dev/null +++ b/docs/how-to/use-keyboard-shortcuts-for-editing.md @@ -0,0 +1,44 @@ +# Use Keyboard Shortcuts for Editing + +Here are some keyboard shortcuts you'll love when editing your notes. +>If you are not on mac or are using non-default shortcuts you can check the [[shortcut-list]] for each shortcut used in this note! + +This works best if you can see the result in the preview panel, run the `Markdown: Open Preview to the Side` command. + +- [ ] `alt+c` changes state to a TODO item. Try it while the cursor is on this line. + +--- + +- [ ] `cmd+b` makes the selection bold. Select me and make me bold. + +--- + +- [ ] `cmd+i` makes the selection italic. Select me and make me italic. + +--- + +- [ ] `alt+shift+f` formats a table. Place the cursor in the table below and format the table. + +| column 1 | column 2| +|-|-| +| one element | another element| +| second row| last cell| + +--- + +- [ ] Paste link on selected text + 1. copy the following text: https://google.com + 2. select me and paste + +--- + +- [ ] Search in your repo with `cmd+shift+f`: type "search" + - (go back to the file explorer with `cmd+shift+e`) + +--- + +- [ ] Paste an image + 1. copy an image + 2. move your cursor to the next line, then press `cmd+alt+v` and confirm the name of the file + 3. . + 4. the image file has been created in `/attachments` and a reference to it has been added here diff --git a/docs/how-to/write-notes-in-foam.md b/docs/how-to/write-notes-in-foam.md new file mode 100644 index 0000000..afa0158 --- /dev/null +++ b/docs/how-to/write-notes-in-foam.md @@ -0,0 +1,69 @@ +# Writing Notes + +Notes are simple text files with some extra flavor, in the shape of Markdown syntax and support for extra properties (see [[note-properties]]). + +## Foam Syntax + +Foam uses standard Markdown, with a few added twists: + +- the title of a note (e.g. in the [[graph-visualization]]) is given by precedence based on: + - the `title` property (see [[note-properties]]) + - the first `# heading 1` of the file + - the file name + +## Markdown Syntax + +With Markdown, we can style our notes in a simple way, while keeping the document a simple text file (the best way to future-proof your writings!). + +You can see the formatted output by running the `Markdown: Open Preview to the Side` command. + +Here is a high level overview of Markdown, for more information on the Markdown syntax [see here](https://commonmark.org/help/). + +# Heading 1 + +## Heading 2 + +### Heading 3 + +#### Heading 4 + +##### Heading 5 + +###### Heading 6 + +This is a [link to google](https://www.google.com). + +This is a wikilink (aka internal link) to [[note-properties]]. + +Here is an image: +![image](../../attachments/foam-icon.png) + +> this is a blockquote +> it can span multiple lines + +- list item +- list item +- list item + +1. One +2. Two +3. Three + +This text is **in bold** and this is *italic*. + +The following is a horizontal rule + +--- + +This is a table: +| Column 1 | Column 2 | +| -------- | -------- | +| R1C1 | R1C2 | +| R2C1 | R2C2 | + +You can `inline code` or + +```text +you can create +code blocks +``` diff --git a/getting-started.md b/getting-started.md new file mode 100644 index 0000000..76297fe --- /dev/null +++ b/getting-started.md @@ -0,0 +1,50 @@ +# Getting Started + +Welcome to your new foam workspace, let's get you started. + +> if you are already familiar with Foam and don't need help, just remove the `docs` folder for a clean repo. + +Let's go through this to set up your repo: + +- [ ] if you are new with VS Code, see how to [[get-started-with-vscode]] and how to [[use-keyboard-shortcuts-for-editing]] + +- [ ] you can navigate the links between your notes by `cmd+click` (or `ctrl+click` on Windows) on a wikilink. You can go back with `ctrl+-`. Here, go to your [[inbox]] + +- [ ] to see how your notes are connected, execute the `Foam: Show Graph` command. See [[graph-visualization]]. + +- [ ] #tags can be used to further organize your content. Look at the `Tag Explorer` view on the left panel to find and navigate the tags in your knowledge base. See [[tags-and-tag-explorer]]. + +- [ ] Foam supports [[spell-checking]]. + +- [ ] You can also paste images in your Foam, just press `cmd+alt+v` to create the image file and link to it from your note. See [[paste-images-from-clipboard]]. + +- [ ] You can use Foam for your daily notes, or journaling. Execute now the `Foam: Open Daily Note` command to create a new file in your `journal` folder. See [[daily-notes]]. + +- [ ] Want to see how to manage your tasks? Go to the [[todo]] note + +- [ ] The section at the end of this file contains wikilink definitions, which enable navigation of your notes from GitHub's web UI, and in general to make `[[wikilinks]]` understood by any Markdown parser. See [[link-reference-definitions]]. + +- [ ] To explore all the Foam settings, press `cmd+,`, then `Extensions > Foam` + +- [ ] Living within VS Code, Foam can be customized in many ways! Look at the [Foam Recipes](https://foambubble.github.io/foam/recipes/recipes) for ideas! + +- [ ] Join the [Foam community on Discord](https://foambubble.github.io/join-discord/e), introduce yourself and leave a message on how you found Foam and how the onboarding went :) We are always keen to do better + +- [ ] Take the [Foam Welcome survey](http://foambubble.github.io/welcome-survey/e)! It helps us better understand your need and how we can make Foam better and better for you :) + +## Advanced Features + +- [ ] You can create [[note-templates]] for things like book reviews, people, daily notes (coming soon), and more! + +## About Foam + +Foam doesn't do all this magic on its own, it relies on some amazing extensions. Look at their documentation if you want to fully unlock the possibilities! + +Here they are: + +- [Markdown All In One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) +- [vscode-paste-image](https://github.com/mushanshitiancai/vscode-paste-image) +- [spellright](https://marketplace.visualstudio.com/items?itemName=ban.spellright) + +A special mention goes to [Markdown Links](https://marketplace.visualstudio.com/items?itemName=tchayen.markdown-links) and [Markdown Notes](https://marketplace.visualstudio.com/items?itemName=kortina.vscode-markdown-notes) which have now been replaced by our own implementation but were foundational to Foam's beginnings. + diff --git a/inbox.md b/inbox.md new file mode 100644 index 0000000..275b39f --- /dev/null +++ b/inbox.md @@ -0,0 +1,12 @@ +# Inbox + +- Here you can write disorganised notes to be categorised later +- Bullet points are useful, but it could be free form text as well +- Sometimes it's better to just get things off your mind quickly, rather than stop to think where it belongs +- But don't let this list get too long +- Move information to more specific documents and link to them. + - This helps you navigate between documents quickly + - For example, you can `Cmd`+`Click` this: [[todo]] +- Some notes don't end up making sense the next day +- That's ok, you can just delete them! + - You can always find them in your git history, if you really need it! diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..480b6e0 --- /dev/null +++ b/readme.md @@ -0,0 +1,45 @@ + + +# Foam + +**👋 Welcome to your new Foam Knowledge Base!** + +## Getting started + +This documentation assumes that you have a GitHub account and have [Visual Studio Code](https://code.visualstudio.com/) installed on your Linux/macOS/Windows machine. + +1. If you haven't yet, browse over to the main [Foam documentation](https://foambubble.github.io/foam) to get an idea of what Foam is and how to use it. +2. Press "Use this template" button at [foam-template](https://github.com/foambubble/foam-template/generate) (that's this repository!) to fork it to your own GitHub account. If you want to keep your thoughts to yourself, remember to set the repository private. +3. [Clone the repository to your local machine](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) and open it in VS Code. + + *Open the repository as a folder using the `File > Open...` menu item.* + +4. When prompted to install recommended extensions, click **Install all** (or **Show Recommendations** if you want to review and install them one by one) + +After setting up the repository, head to [[getting-started]] to get familiar with your new knowledge base! + +To learn more about how to use **Foam**, read the [Recipes](https://foambubble.github.io/foam/recipes/recipes) bubbles of the Foam documentation workspace. + +And remember that you can always join our [Foam community on Discord](https://foambubble.github.io/join-discord/g)! + +## Using Foam + +We've created a few Bubbles (Markdown documents) to get you started. + +- [[inbox]] - a place to write down quick notes to be categorized later +- [[getting-started]] - learn how to use your Foam workspace +- [[todo]] - a place to keep track of things to do + +In the `docs` directory you can find everything you need to learn the basics of Foam. + +[//begin]: # "Autogenerated link references for markdown compatibility" +[getting-started]: getting-started.md "Getting Started" +[inbox]: inbox.md "Inbox" +[todo]: todo.md "Todo" +[//end]: # "Autogenerated link references" + +## Submitting Issues + +As you may have noticed, issues are disabled. With the goal to keep the project fairly easy to maintain, please file your issues in the main Foam repository: + +> diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..f71a016 --- /dev/null +++ b/todo.md @@ -0,0 +1,8 @@ +# Todo + +You can create todos in Foam. + +- [x] This is an example of a todo list item that's complete +- [ ] This one is not completed yet +- [ ] You can mark it completed by pressing `Option`+`C` (or `Alt`+`C`) when your cursor is on this line + - [ ] You can also select multiple lines and mark them all at once!