diff --git a/README.md b/README.md index c8015f8..a0b6cea 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ If you've tested out [Obsidian](https://obsidian.md/) and worked through the "Ob 1. How others use backlinks and various markdown tricks, 2. Why these techniques work. -The initial example covers how an academic [researcher](https://github.com/masonlr/obsidian-starter-templates#researcher) might choose to approach Obsidian. +The initial example covers how an academic researcher might choose to approach Obsidian. ## Getting started @@ -19,6 +19,9 @@ The initial example covers how an academic [researcher](https://github.com/mason ## Templates +* [Researcher](#Researcher): general purpose template for research projects (added May 2020) +* [Researcher (with plugins)](#researcher-with-plugins): extended template using newer Obsidian community plugins (added March 2021) + ### Researcher The [researcher/](./researcher) template suits a case where you are juggling multiple research projects: for example, reading several books and research papers simultaneously and maintaining multiple collaborations with other researchers. It's nice to have a starter template to experiment with ideas, even though backlinks and associative thinking encourage you to avoid hierarchies and rigid hierarchical structures: see for example Andy Matuschak's [evergreen notes](https://notes.andymatuschak.org/Evergreen_notes), [taxonomy of note types](https://notes.andymatuschak.org/Taxonomy_of_note_types) and [note-link-janitor](https://github.com/andymatuschak/note-link-janitor) project. @@ -33,8 +36,8 @@ The template is intended to be modular. A minimal use could include [scratch/](h The scratch folder is an area for messy, low-friction daily free-form planning and logging of ideas, i.e. [scratch/](./researcher/scratch/) will store content generated using the Obsidian "daily notes" feature. Daily notes can be created using the "Open today's note" action: this will create a new markdown file that follows the date-stamped name convention `YYYY-MM-DD.md`. -**Tip:** Set a keyboard shortcut to quickly go to the day's note. For example, set `cmd+T` to "Open today's note" in the Hotkeys settings. -**Tip:** Create a rigid layout for daily notes by specifying a template markdown file, though a blank template may encourage free-form thinking. +**TIP:** Set a keyboard shortcut to quickly go to the day's note. For example, set `cmd+T` to "Open today's note" in the Hotkeys settings. +**TIP:** Create a rigid layout for daily notes by specifying a template markdown file, though a blank template may encourage free-form thinking. After a few days, daily notes will build up as follows: @@ -60,7 +63,7 @@ Folder for "evergreen" concept notes (see Andy Matuschak's [evergreen notes](htt - [A concept.md](./researcher/concepts/A%20concept.md) - A example concept note. + An example concept note. **TIP:** In a link, it's clearer to read `[[A concept]]` than `[[a-concept]]`, so the filename uses white spaces here and sentence case. @@ -211,7 +214,7 @@ Kanban with embeded queries: ```markdown | | | | | ------------ | --------------- | --------- | - | ![[Backlog]] | ![[InProgress]] | ![[done]] | + | ![[Backlog]] | ![[Priority]] | ![[Done]] | ``` Example in `Backlog.md`: @@ -219,7 +222,7 @@ Kanban with embeded queries: ````markdown ```query tag:backlog - ``` +``` ```` #### Task lists @@ -230,7 +233,7 @@ Kanban with embeded queries: For one-off references, pasted links work fine. Example in [A concept.md](./researcher/concepts/A%20concept.md): -```markdown +​```markdown This concept only appeared once, so just paste link. https://en.wikipedia.org/wiki/Mental_state ``` @@ -249,6 +252,77 @@ I need to check.[^repeated] [^repeated]: Flow (psychology): https://en.wikipedia.org/wiki/Flow_(psychology) ``` +### Researcher (with plugins) + +Since [Researcher](#Researcher) was posted (May 2020) there have been updates to Obsidian, including many community plugins. [Researcher_(with plugins)](./researcher_with_plugins) (March 2021) captures several newer ideas and can be viewed as a more advanced version of the original [Researcher](#Researcher) template. + +#### Maps of Content + +A blend of Maps of Content, roadmaps and changelogs is effective for organising multiple projects. + +For example: + +##### [concepts/](./researcher_with_plugins/concepts/) + +Keep one flat structure for all evergreen concept notes. + +* [Concept.md](./researcher_with_plugins/concepts/Concept.md) + + An example concept note. + +* [Project A](./researcher_with_plugins/concepts/Project%20A.md) + + An example map of content (see [In what ways can we form useful relationships between notes](https://forum.obsidian.md/t/in-what-ways-can-we-form-useful-relationships-between-notes-long-read/702)) for summarising a project. + + **TIP:** If you have multiple projects create additional maps of content, for example Project B and Project C (use more meaningful names though). Keep a flat structure rather than creating dedicated folders for each project. + +* [Project A CHANGELOG](./researcher_with_plugins/concepts/Project%20A%20CHANGELOG.md) + + Keep a rough changelog of important completed tasks in your project – many open-source projects use a `CHANGELOG.md` file (see for example [Keep a Changelog](https://keepachangelog.com/)). + +* [Project A ROADMAP](./researcher_with_plugins/concepts/Project%20A%20ROADMAP.md) + + Keep a rough sketch of future ideas and plans using a roadmap – many open-source projects use a `ROADMAP.md` (for ideas, check out Mozilla's [Introduction to Roadmapping](https://mozillascience.github.io/working-open-workshop/roadmapping/)). + +#### Referencing + +##### [references.bib](./researcher_with_plugins/references.bib) + +The [Citations](https://github.com/hans/obsidian-citation-plugin) community plugin is great for referencing. If you maintain a list of references in `.bib` format (for example using [Zotero](https://www.zotero.org/) or [BibDesk](https://bibdesk.sourceforge.io/)), you can search references from within Obsidian and, if needed, create a dedicated page for each reference. + +**TIP:** You can create a dedicated page for each reference via "Citations: Open literature note" in the Obsidian command palette – create a dedicated Hotkey for this action if you use it often. + +![Citations: Open literature note](./assets/citations_open_literature_note.png) + + + +You can write short notes (for example, short chapter summaries) on each reference page itself (see [books/@butcher2016go](./researcher_with_plugins/books/@butcher2016go)). It can be useful to write longer notes on specific concepts elsewhere, and refer back to the source using Markdown citations: `[[@butcher2016go]`. + +**TIP:** You can create a citations using "Citations: Insert Markdown citation" in the Obsidian command palette – create a dedicated Hotkey for this action if you use it often. + +#### Backups + +Use [Obsidian Git](https://github.com/denolehov/obsidian-git) to configure automatic backups to a remote git repository (e.g. GitHub or GitLab). + +#### Templating + +##### [templates/](./researcher_v2/templates) + +* [Daily.md](./researcher_v2/templates/Daily.md) + + The [Templater](https://github.com/SilentVoid13/Templater) community plugin allows you to create custom daily notes. In this simple example, we have links to yesterday and tomorrow (these links allow you to flick quickly between days when reviewing notes): + + ```markdown + 📆 [[{{tp_yesterday}}]] – [[{{tp_tomorrow}}]] + ``` + +#### Syntax highlighting + +[Editor Syntax Highlight](https://github.com/deathau/cm-editor-syntax-highlight-obsidian) enables syntax highlighting while in editor mode: + +![Editor syntax highlighting](./assets/editor_syntax_highlight.png) + + ## References - Obsidian: https://obsidian.md/ diff --git a/assets/citations_open_literature_note.png b/assets/citations_open_literature_note.png new file mode 100644 index 0000000..2ab0887 Binary files /dev/null and b/assets/citations_open_literature_note.png differ diff --git a/assets/editor_syntax_highlight.png b/assets/editor_syntax_highlight.png new file mode 100644 index 0000000..a425f45 Binary files /dev/null and b/assets/editor_syntax_highlight.png differ diff --git a/researcher_with_plugins/books/@butcher2016go.md b/researcher_with_plugins/books/@butcher2016go.md new file mode 100644 index 0000000..da39be2 --- /dev/null +++ b/researcher_with_plugins/books/@butcher2016go.md @@ -0,0 +1,11 @@ +--- +title: Go in practice +authors: Matt Butcher, Matt Farina +year: 2016 +--- + +# Go in practice + +Summary of the book chapters could go here. Write notes on particular concepts elsewhere and refer back to this page using [@butcher2016go]. + +You can add citations using "Citations: Insert Markdown citation" in the Obsidian command pallete. \ No newline at end of file diff --git a/researcher_with_plugins/books/@mcnamara2021rust.md b/researcher_with_plugins/books/@mcnamara2021rust.md new file mode 100644 index 0000000..985384e --- /dev/null +++ b/researcher_with_plugins/books/@mcnamara2021rust.md @@ -0,0 +1,6 @@ +--- +title: Rust in Action +authors: Tim McNamara +year: 2021 +--- + diff --git a/researcher_with_plugins/content/Concept.md b/researcher_with_plugins/content/Concept.md new file mode 100644 index 0000000..1c82c13 --- /dev/null +++ b/researcher_with_plugins/content/Concept.md @@ -0,0 +1,5 @@ +# An example concept note + +This page might explore an import concept using ideas from multiple references: for example, [[@butcher2016go]] may recommend Golang for everything, while [[@mcnamara2021rust]] may recommend Rust. + +You can highlight that this concept is relevant for specific projects such as [[Project A]]. \ No newline at end of file diff --git a/researcher_with_plugins/content/Golang.md b/researcher_with_plugins/content/Golang.md new file mode 100644 index 0000000..bcb9fbe --- /dev/null +++ b/researcher_with_plugins/content/Golang.md @@ -0,0 +1,13 @@ +# Golang + +Here I'm working on an example concept from [[@butcher2016go]]: + +```go +package main + +import "fmt" + +func main() { + fmt.Println("Hello from go") +} +``` \ No newline at end of file diff --git a/researcher_with_plugins/content/Project A CHANGELOG.md b/researcher_with_plugins/content/Project A CHANGELOG.md new file mode 100644 index 0000000..316f7f1 --- /dev/null +++ b/researcher_with_plugins/content/Project A CHANGELOG.md @@ -0,0 +1,15 @@ +[[Project A]] +# Project A CHANGELOG +Many open source projects have a changelog for tracking project history – this typically exists as a local `CHANGELOG.md` file. + +You can track history for [[Project A]] is this changelog here. + +## Phase 2: If you're using phases +- [ ] More new ideas go here + +## Phase 1 +- [ ] Feature Three: Still working on this +- [x] Feature Two: Got this one done + - [x] Sub-Feature A: Explanation can goe here +- [x] Feature One: Free-form text goes here +- [x] Work out whether we should use [[Golang]] or [[Rust]] \ No newline at end of file diff --git a/researcher_with_plugins/content/Project A ROADMAP.md b/researcher_with_plugins/content/Project A ROADMAP.md new file mode 100644 index 0000000..f11c654 --- /dev/null +++ b/researcher_with_plugins/content/Project A ROADMAP.md @@ -0,0 +1,10 @@ +[[Project A]] +# Project A ROADMAP +Many open source projects have a roadmap for planning and prioritising future features – this typically exists as a local `ROADMAP.md` file. + +If you want to apply roadmap-like thinking to your project, create a dedicated road map file and use Markdown checkboxes to track progress. + +- [x] Feature Four: Have finished this one, so will move this text to the [[Project A ROADMAP]] when I get a chance. +- [ ] Feature Five: Want to get this done +- [ ] ~~An idea that we've given up on~~ Reason why goes here. +- [ ] Get better at [[Rust]] \ No newline at end of file diff --git a/researcher_with_plugins/content/Project A.md b/researcher_with_plugins/content/Project A.md new file mode 100644 index 0000000..4d7095b --- /dev/null +++ b/researcher_with_plugins/content/Project A.md @@ -0,0 +1,19 @@ +# Project A + +This page is a Map of Content (see [In what ways can we form useful relationships between notes \[LONG READ\]](https://forum.obsidian.md/t/in-what-ways-can-we-form-useful-relationships-between-notes-long-read/702)) for [[Project A]]. + +You can use this Map of Content for different purposes such as summarising who is involved with this project: such as [[Supervisor]] and [[Collaborator A]]. + +## Concepts: + +Maybe you have a sentence explaining why [[Concept]] is important for [[Project A]]. + +## References: + +You could list brief opinions regarding the key references of [[Project A]] such as [[@butcher2016go]] and [[@mcnamara2021rust]]. + +## Trackers: + +[[Project A]] has two trackers: +- [[Project A ROADMAP]] for planning the future +- [[Project A CHANGELOG]] for reflecting on the past \ No newline at end of file diff --git a/researcher_with_plugins/content/Rust.md b/researcher_with_plugins/content/Rust.md new file mode 100644 index 0000000..24c1b30 --- /dev/null +++ b/researcher_with_plugins/content/Rust.md @@ -0,0 +1,9 @@ +# Rust + +Here I'm working on example concept from [[@mcnamara2021rust]]: + +```rust +fn main() { + println!("Hello from rust"); +} +``` \ No newline at end of file diff --git a/researcher_with_plugins/log/2021-03-14.md b/researcher_with_plugins/log/2021-03-14.md new file mode 100644 index 0000000..ace3ea9 --- /dev/null +++ b/researcher_with_plugins/log/2021-03-14.md @@ -0,0 +1,33 @@ + +📆 [[2021-03-13]] – [[2021-03-15]] + +This is a daily note for sketching out what you're working on *right now*. I + +Once way to planning what to do is to use a question-and-answer style: + +--- + +*Q: How do we get something done?* + +A: Explanation of answer, once you've figured it out. + +--- + +Another way is to use nested checkboxes: + +- [ ] First question that I need to figure out today + + > Answer to first question + + - [x] Second related question that came up while I was thinking about question one + + > Another answer that I thought of + +--- + +You can include events such as meetings: + +Met with [[Collaborator A]] and discussed [[Project A]]. + + +[[TIL]] [[Rust]] and [[Golang]] are complementary: https://thenewstack.io/rust-vs-go-why-theyre-better-together/ \ No newline at end of file diff --git a/researcher_with_plugins/people/Collaborator A.md b/researcher_with_plugins/people/Collaborator A.md new file mode 100644 index 0000000..2f9e8bc --- /dev/null +++ b/researcher_with_plugins/people/Collaborator A.md @@ -0,0 +1,2 @@ +# Collaborator A +Add any short notes here. \ No newline at end of file diff --git a/researcher_with_plugins/people/Collaborator B.md b/researcher_with_plugins/people/Collaborator B.md new file mode 100644 index 0000000..51ae2c9 --- /dev/null +++ b/researcher_with_plugins/people/Collaborator B.md @@ -0,0 +1,2 @@ +# Collaborator B +Add any short notes here. \ No newline at end of file diff --git a/researcher_with_plugins/people/Supervisor.md b/researcher_with_plugins/people/Supervisor.md new file mode 100644 index 0000000..5efe97a --- /dev/null +++ b/researcher_with_plugins/people/Supervisor.md @@ -0,0 +1,2 @@ +# Supervisor +Add any short notes here. \ No newline at end of file diff --git a/researcher_with_plugins/references.bib b/researcher_with_plugins/references.bib new file mode 100644 index 0000000..d2c7a4b --- /dev/null +++ b/researcher_with_plugins/references.bib @@ -0,0 +1,20 @@ + +@book{butcher2016go, + title = {Go in {Practice}}, + author = {Butcher, Matt and Farina, Matt}, + date = {2016}, + publisher = {{Manning Publications Co}}, + location = {{Shelter Island, NY}}, + annotation = {OCLC: ocn913335043}, + isbn = {978-1-63343-007-5}, + keywords = {Go (Computer program language)}, + langid = {english}, + pagetotal = {287} +} + +@book{mcnamara2021rust, + title = {Rust in {Action}}, + author = {McNamara, Tim}, + date = {2021}, + publisher = {{Manning Publications}} +} \ No newline at end of file diff --git a/researcher_with_plugins/templates/Daily.md b/researcher_with_plugins/templates/Daily.md new file mode 100644 index 0000000..42dd715 --- /dev/null +++ b/researcher_with_plugins/templates/Daily.md @@ -0,0 +1,3 @@ +📆 [[{{tp_yesterday}}]] – [[{{tp_tomorrow}}]] + +You can now have templated daily notes using the [Templater](https://github.com/SilentVoid13/Templater) plugin. This example will put links to yesterday's and tomorrow's notes at the top of the daily note. \ No newline at end of file