GithubHelp home page GithubHelp logo

0fflineuser / orgwiki.nvim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ranjithshegde/orgwiki.nvim

0.0 0.0 0.0 54 KB

A plugin that adds wiki and diary extension to orgmode filetype

License: GNU General Public License v3.0

Lua 100.00%

orgwiki.nvim's Introduction

orgWiki.nvim

This plugin implements a subset of features from the popular vimwiki plugin for org filetype. Written in pure lua

Note: This plugin is still experimental. Would be grateful for any bug reports or suggestions for improvement where necessary

Features

  • Create hyperlink for <cWORD> and easily navigate between links
  • Create and maintain wikis
  • Switch between Wikis
  • Create diary entries
  • Autogenerate and update diary index
  • Preview linked file in a popup window

Configuration

Install the plugin using your favourite plugin manager Example for packer.nvim

use {"ranjithshegde/orgWiki.nvim"}

The plugin follows similar method of configuration like many other lua plugins via calling the setup function with a opts table

This function initializes orgWiki by setting keymaps and defining path variables opts as a table that must include the following

wiki_path: A list of directories to be recognized as orgWiki

diary_path: A string containing the path to the direcotry where diary entries must be stored

if you do not wish for the plugin to create the mappings you can use this option disable_mappings = true

keys: optional table with values to set up keybindings. When any of the keys are omitted, default mappings are used. Below shows the list of key options with its default mappings

  • create_or_follow = "<CR>", -- Follow hyperlink under cursor
  • traverse_back = "<BS>", -- Return to the parent file or top of the link stack
  • goto_next = ]w, -- Go to next hyperlink in the file
  • goto_prev = "[w", -- Go to prevvious hyperlink in the file
  • hover = "K", -- Preview the linked file in a popup window
  • open_index = "<leader>ww", -- Open the default orgWiki index file
  • open_index_tab = "<leader>wt", -- Open the default wiki in a new tab
  • open_choice_index = "<leader>wc", -- Open a wiki from list
  • open_next_index = "<leader>wn", -- Switch to the next wiki if available
  • open_diary_index = "<leader>wi", -- Open the diary index file
  • diary_update = "<leader>w<leader>i", -- Update the diary index files with new available entries
  • diary_today = "<leader>w<leader>w", -- Open a new diary entry ("Today")
  • diary_tomorrow = "<leader>w<leader>t", -- Open a new diary entry ("Tomorrow")
  • diary_yesterday = "<leader>w<leader>y", -- Open yesterday's diary entry

example

    use {
        "ranjithshegde/orgWiki.nvim",
        config = function()
            require("orgWiki").setup {
                wiki_path = { "~/Documents/Orgs/" },
                diary_path = "~/Documents/Orgs/diary/",
            }
        end,
    }

TODO

  • Diary - Replace hyperlink tag with #+TITLE: preamble (if exists)
  • Add hover popup to preview the contents of hyperlinked file
  • Future: Add roadmap

orgwiki.nvim's People

Contributors

0fflineuser avatar p3nj avatar ranjithshegde avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.