Giter VIP home page Giter VIP logo

org-notebook's Introduction

org-notebook

Ease the use of org-mode as a notebook

Introduction

I use org-mode to take notes in class. I find it better than all those other note-taking apps like OneNote. The problem is that it was a relatively large hassle to open up an image editor and quickly draw up a diagram an input it into the org file. So I decided to make a series of functions to ease said process, and in the meantime make a package to also manage the notebook.

Recently I have also added functionality to easily add HTML and LaTeX headers as a template to ease the process of exporting the org notebook to HTML or LaTeX/PDF.

Requirements

The is for Emacs, so obviously Emacs. I only tested it on 24.

Also org and ido.

Installation

I am now waiting for my recipe to be accepted into MELPA.

For now, a manual installation will have to do:

Git clone this repo, copy org-notebook.el to one of your Emacs load-path, and then (require 'org-notebook) in your .emacs or init.el.

For more information on this process, see: https://www.emacswiki.org/emacs/InstallingPackages

Getting Started

Bind a key combination to org-notebook-insert-image.

Then when you're in your org notebook file and you want to quickly draw up a diagram and insert it, run that key combo, and it'll fire up kolourpaint and you can draw your thing, save it in the default directory, and the link will already be put in the org file. (you will need a img/ directory if you don't already have one)

Or run org-notebook-new-notebook from M-x to create a new notebook, complete with the org file with the template headers and the img/ directory!

Configuration

  • org-notebook-drawing-program to use a different program to draw your diagrams, such as inkscape or gimp. The default value is "kolourpaint". Tip: If you want to just insert an image link and create the image later, you can set this value to an empty string and it won't load any drawing program.

  • org-notebook-image-type to use a different image type besides png.

  • org-notebook-language to use a different language for your org notebook (mainly important for export purposes).

  • org-notebook-image-width to change the width (and therefore size) of the images displayed in org mode. The default value is 600.

  • org-notebook-headers to set the org headers template. TITLE, AUTHOR, mode: org, EMAIL, LANGUAGE, and ATTR_ORG: :width should not be included here. This is a list of cons. The default value is empty.

Example value of org-notebbok-headers:

(
  ("LATEX_CLASS_OPTIONS" "[letter,12pt]")
  ("LATEX_CLASS" "article")
  ("HTML_HEAD" "<script type=\"text/javascript\" src=\"../media/js/main.js\"></script>")
  ("HTML_HEAD" "<link rel=\"stylesheet\" type=\"text/css\" href=\"../media/css/main.css\">")
)

Future plans

  • Support multiple org files (=pages) in one notebook.
  • Allow per-subdirectory auto-customization of variables (drawing program, headers, language, and image type)

Changelog

  • 1.0 - Initial version, includes insert-image and new-notebook.
  • 1.1 - Allows templating with org headers. Also added image-width customiation.

Contributors

Paul Elder

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

org-notebook's People

Contributors

rahi374 avatar

Watchers

 avatar  avatar  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.