An Obsidian plugin for automatically creating notes when linking to non-existing notes

Overview

Note Auto Creator for Obsidian

Automatically create notes when links are created to them.

How to use

Gif showing a demo of the plugin

After enabling the plugin in the settings menu, you will be able to trigger an alternative link suggestion drop-down. The drop-down is triggered by typing the characters configured in the settings menu. By default, the trigger is @. The suggestion drop-down works as the standard link suggestion activated by typing [[ with some notable differences:

Obsidian Linking Note Auto Creator linking
Trigger for link suggestion [[ Configurable (@ by default)
Inserts link to note when Enter is pressed ✔️ ✔️
Creates new note if no note exist at the link location ✔️
Filters link suggestions based on the text after the trigger ✔️ ✔️
Custom display text can be inserted by using the | character ✔️ ✔️
Link to specific header can be inserted using the # character ✔️
Link to specific block can be inserted using the ^ character ✔️

Some general notes:

  • To exit out of the note selection process, press ESC. Note that the drop-down will be shown again as soon as you being writing on the same line.
  • The type of link that is created by the Note Auto Creator is the same type of link that is created when using the standard Obsidian way. If [[Wikilinks]] have been enabled, then wikilinks are used. Otherwise markdown links are used.
  • The new note that is created when using the Note Auto Creator will be an empty note.
  • The sorting of the suggestions is note quite the same between the two link insertion methods, but the contents are the same.

Settings

In the settings tab you can configure what string to use to trigger the link suggestion drop-down. By default, @ is used to trigger the link selection, but you can configure it to be any string. A warning is shown if the chosen trigger is either an empty string or among the special symbols used when writing markdown. You can choose to ignore the warning and still use any of the special symbols as triggers, but it will make it harder to write normal markdown since you always will have the drop-down show up.

Compatibility

This plugin should work on all operating systems supported by Obsidian, but has not been tested everywhere. See the table below for tested systems:

Device Tested Working
Windows 10 ✔️ ✔️
Android (11) ✔️ ✔️
iPad
iPhone
Linux

How to install

From within Obsidian

You activate the plugin from within Obsidian by doing the following:

  • Open Settings > Community plugins
  • Make sure Safe mode is off
  • Click Browse community plugins
  • Search for "Note Auto Creator"
  • Click Install
  • Once installed, close the community plugins window and activate the newly installed plugin

From GitHub

  1. Download the Latest Release from the Releases section of the GitHub Repository
  2. Put files to your vault's plugins folder: <vault>/.obsidian/plugins/obsidian-note-autocreation
  3. Reload Obsidian
  4. If prompted about Safe Mode, you can disable safe mode and enable the plugin. Otherwise, head to Settings, third-party plugins, make sure safe mode is off and enable the plugin from there.
Comments
  • Template name does not appear on mobile

    Template name does not appear on mobile

    I have a template called "person template" and another called "person automove template" but it is not possible to distinguish between the two. ideally I'd be able to know which one I was applying

    a visual image

    bug 
    opened by brimwats 17
  • Feature Request: insert folder and then let me add new note

    Feature Request: insert folder and then let me add new note

    It would be a nice QOL feature to have the ability to quick select the nested folder I'm looking for then add "/new note" from there.

    Right now I can type: @Skills and it will show me the Skills folder, but when I click it, it simply links to it. So when I want to add a new note to Skills, I have to type the entire folder path: 3. Systems/Cortex Prime/Prime Core/8. Skills/newnote to create a new note. It would be nice if I could type @Skills, click it, and it shows me the path that I can add /newnote to, then execute it with enter.

    enhancement 
    opened by roleforgaming 5
  • [Feature Request] Note folder options

    [Feature Request] Note folder options

    Thanks for your plugin !

    During my trial, I found conflicts between this plugin and various complements. I don't know whether this problem can be solved.

    And i think it's excellent to have note folder options like root directory or same with current note.

    Thanks again !

    opened by Tony-zf1 4
  • Relative file path note creation

    Relative file path note creation

    Hello,

    When I have a folder structure like

    note.md
    Folder1\
        Folder2\
            note2.md
    

    and in note2 I would like to make a link to a new note @./Folder3/note3.md I would like to see this happen

    note.md
    Folder1\
        Folder2\
            note2.md
            Folder3\
                 note3.md
    

    instead of

    note.md
    Folder1\
        Folder2\
            note2.md
    Folder3\
         note3.md
    

    this behavior happens for me both with regular [[]] syntax and @ symbol from your extension. Do you have plan implementing relative path note creation like this ?

    enhancement 
    opened by TheSquake 3
  • Feature Request: Create from Template

    Feature Request: Create from Template

    Hello!

    I was wondering if you would consider adding a "create from template" part, where a certain template could be used to created a note.

    I can provide a .js script, templater, and example of how I am doing this right now.

    Currently, when I make a [[link]] i put the cursor on the link and run a templater command. The templater command first uses this script to find the link under a cursor

    function linkUnderCursor() {
      const activeView = app.workspace.activeLeaf.view;
      const file = activeView.file;
      const cache = app.metadataCache.getFileCache(file);
      
      if (!cache && cache.links) {
        console.log(`couldn't find cache`)
        return;
      }
    
      const { line, ch } = activeView.editor.getCursor();
      
      const link = cache.links.reduce((acc, link) => {
        if (link.position.start.line === line && link.position.start.col <= ch && link.position.end.col >= ch) {
          acc = link.displayText
        }
        return acc;
      }, undefined)
    
      if (!link) {
        console.log(`no internal link found on line ${line}.`);
        return;
      }
    
      return link;
    }
    
    module.exports = linkUnderCursor;
    
    
    

    Then I am prompted for a title, and use this script:

    <%* 
    const linkUnderCursor = tp.user.linkUnderCursor()
    new Notice(linkUnderCursor)
    const TemplateType = await tp.system.suggester(["🎬Action", "📝Annotation", "📚Book", "❗Claim", "💻Code", "🗃️Collection", "🔠DefinedTermSet", "🔤Definition", "📧Email", "❓HowTo", "🗺️Map",  "🎦Movie", "🏙️Organization", "👤Person", "🧮PKB", "📍Place", "🗣Presentation", "🧰Product", "⚙️Program", "📋Project",  "📰Publication", "🪧Quotation", "📄Scholarly Article", "💲Scholarship", "💭Theory", "🎓Thesis", "💠Topic", "🖼️Visual Artwork"],["Action & Method Automove Template", "Annotation Automove Template", "Book Automove Template", "Claim Automove Template", "Code Automove Template", "Collection Automove Template", "DefinedTermSet Automove Template", "Definition Automove Template", "Email Automove Template", "HowTo Automove Template", "Map Automove Template", "Movie Automove Template", "Organization Automove Template", "Person Automove Template", "PKB Automove Template", "Place Automove Template", "Presentation Automove Template", "Product Automove Template", "Program Automove Template", "Project Automove Template", "Publication Automove Template", "Quotation Automove Template", "Scholarly Article Automove Template", "Scholarship Automove Template", "Theory Automove Template", "Thesis Automove Template", "Topic Automove Template", "Visual Artwork Automove Template"]);
    const TemplateTFile = tp.file.find_tfile(TemplateType);
    await tp.file.create_new(TemplateTFile, linkUnderCursor, false);
    tR += linkUnderCursor
    return%>
    

    Which pulls a template of various note types. Here's an example of one:

    ---
    Metadata: 
    fileClass: Thing
    ThingType: Collection
    Status:  
    Created: <%tp.file.creation_date()%>
    Last Modified: <%tp.file.last_modified_date()%>
    aliases: []
    tags: [🗃️]
    ---
    # <%tp.file.title%> 
    **Date Created:** [[<%tp.date.now("YYYY-MM-DD")%>]] 
    **BT⤴:: [[]]** 
    **↔RT:: [[<% tp.file.cursor() %>]]** 
    **NT⤵:: [[<% tp.file.cursor() %>]]**   
    **🔗 Relevant Links:** []()
    
    
    
    <% await tp.file.move("000 - Landing Page. Inbox. KO. Meta/" + tp.file.title) %>
    
    
    opened by brimwats 3
  • Creation is sometimes forcing a absolute link to be inserted

    Creation is sometimes forcing a absolute link to be inserted

    I'm sorry I can't be more specific with this bug, but sometimes, when I am using the @./ functionality, something is happening that causes Obsidian to think that there is a duplicate file and use the whole absolute link in the file. I can't figure out when it happens, I'm sorry, but I thought for a while it might be something to do with capital letters at the beginning of the file name (or lack thereof) but I can't accurately reproduce it.

    What I will say is I have at least one file created using the @./ function, with a lowercase letter as the first letter, let's say it's called 'hello.md', and Obsidian for some reason also thinks there is a file called Hello.md, and it won't let me change the name of hello.md to have a capital letter, as it says it is a duplicate. This duplicate file does not appear in the file tree.

    Sorry I can't be more help. If you have any questions, or anything you'd like me to try, I'll do what I can.

    opened by fakeharxy 3
  • Not sure what I'm doing wrong as this plugin is not working for me

    Not sure what I'm doing wrong as this plugin is not working for me

    Hi, This plugin doesn't seem to be working for me. It brings up the context menu with folders but doesn't create any new file when I add any new words. It doesn't create a new file when I simply type @new note either. I did restart Obsidian after installing the plugin. Can you kindly help resolve this? Regards.

    opened by DataSciLearner 1
  • Feature request: Block linking

    Feature request: Block linking

    I saw that header linking is already planned. Are there any plans for linking blocks as well?

    This would make it so that you could completely replaced the default linking pattern with this plugin.

    enhancement 
    opened by isle9 5
  • Web links shown as note suggestions

    Web links shown as note suggestions

    Currently web links are included in the suggestions given by the plugin, but the plugin should only give suggestions for notes in the vault.

    Originally reported by @brimwats in https://github.com/SimonTC/obsidian-note-autocreation/issues/3#issuecomment-1145357060

    bug 
    opened by SimonTC 4
  • FR: Please support quickadd

    FR: Please support quickadd

    Hi, friend. I love you plugin very much. It help me a lot. When I create a note, I usually use quickadd template. So can it support quickadd. Appreciation!

    enhancement 
    opened by YIRU69 3
Releases(1.3.1)
Owner
Simon Clement
Simon Clement
Easily open daily notes and periodic notes in new pane; customize periodic notes background; quick append new line to daily notes.

Obsidian daily notes opener This plugin adds a command for opening daily notes in a new pane (so that a keyboard shortcut could be used!) and gives ex

Xiao Meng 16 Dec 26, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A plugin for Obsidian (https://obsidian.md) that adds a button to its search view for copying the Obsidian search URL.

Copy Search URL This plugin adds a button to Obsidian's search view. Clicking it will copy the Obsidian URL for the current search to the clipboard. T

Carlo Zottmann 6 Dec 26, 2022
An Obsidian plugin to add (prepend or append) specified content to a note (existing or new) without opening another pane.

Obsidian Note Content Pusher An Obsidian plugin to add (prepend or append) specified content to a note (existing or new) without opening another pane.

Henry Gustafson 21 Nov 6, 2022
A Zotero add-on that scans your Markdown reading notes, tags the associated Zotero items, and lets you open notes for the Zotero items in Obsidian.

Zotero Obsidian Citations Adds colored tags to Zotero items that have associated Markdown notes stored in an external folder. Open an associated Markd

Dae 210 Jan 4, 2023
A service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored temporarily.

?? Noteshare.space Noteshare.space is a service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored

Maxime Cannoodt 56 Dec 26, 2022
Obsidian Web: Connect your browser with your Obsidian notes

Obsidian Web: Connect your browser with your Obsidian notes This is an unofficial Chrome extension for Obsidian that lets you send content from the we

Adam Coddington 97 Jan 3, 2023
Command-line toolkit for parsing, compiling, transpiling, optimizing, linking, dataizing, and running EOLANG programs

First, you install npm and Java SE. Then, you install eolang package: $ npm install eolang Then, you write a simple EO program in hello.eo file in th

objectionary 17 Nov 17, 2022
jQuery Address - Deep linking for the masses

jQuery Address The jQuery Address plugin provides powerful deep linking capabilities and allows the creation of unique virtual addresses that can poin

Rostislav Hristov 820 Oct 20, 2022
The project focused on creating To do list structure for organising the daily completed or non-completed activities.

Project to build a simple HTML list of To Do tasks. The list will be styled according to the specifications given by Microverse This simple web page will be built using webpack and served by a webpack dev server.

NTIHINDUKA ALPHA 5 May 20, 2022
Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web.

Obsius Publish Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web. Limitations The type of c

Jon Grythe Stødle 66 Dec 20, 2022
Obsidian plugin to sync Pinboard.in links to Daily Notes

Obsidian Pinboard Sync An Obsidian plugin that adds links you've saved with Pinboard to your Obsidian Daily Notes, synchronizing periodically. Why? I'

Mathew Spolin 35 Dec 1, 2022
A quick capture plugin for Obsidian, all data from your daily notes.

Obsidian Memos 中文文档 A new way for you to quick capture an idea in Obsidian. Which is highly based on the awesome open source project: memos and awesom

Boninall 551 Jan 3, 2023
Obsidian.md plugin to sync highlights/notes from koreader

Obsidian KOReader Plugin Sync KOReader notes in your Obsidian vault. The KOReader device must be connected to the device running obsidian to let the p

Federico Granata 24 Dec 18, 2022
Obsidian.md plugin to integrate with Zotero, create literature notes and insert citations from a Zotero library.

Obsidian Zotero Plugin Obsidian.md plugin to integrate with Zotero, create literature notes and insert citations from a Zotero library. Intro How to u

null 156 Jan 6, 2023
Plugin for Obsidian.md to send markdown notes to Buttondown.email

Obsidian Buttondown Plugin Buttondown is a tool for producing email newsletters. It likes emails written in Markdown, and has an API. This plugin allo

Caro 4 Nov 15, 2022
Obsidian plugin to export Graphviz graphs from vault's notes

What it is: an Obsidian plugin to generate hierarchical graphs, with the nodes are from your Obsidian vault How it does: convert the database from Bre

Ooker 22 Nov 14, 2022