Giter Site home page Giter Site logo

daily-agenda's Introduction

daily-agenda

This is a simple script that I use to email myself an agenda each morning. Right now various parts are tailored to my own needs and setup, such as using paths and files which only make sense for me and my computers. I would like to ultimately generalize the script enough so other people could easily use it, and also so I can tweak it or move it to another machine/setup easily.

I am a heavy user of Org mode for Emacs to keep track of my projects and tasks. But, I can sometimes forget to check my org files and get off track. I seem to always be checking my email, so, I figure that if I can get my upcoming tasks into my email, I will be more likely to stay focused and remember what I should be doing (to put it dramatically).

I will eagerly say that this script is probably not well written, but it gets the job done, and I can clean it up later. It hacks together several other tools, which means I can rest on quite a few shoulders of giants, but also means that this script has a fairly large number of disparate requirements.

Requirements

This script is just a single shell file, and does not automatically install any dependencies, so these all need to already be available or installed manually. Sorry.

  • Ruby, version 1.9 (possibly).
  • ical2rem.rb ruby gem. This has its own dependencies on other gems. Since this creates a binary when installed, ruby itself might not be needed to run it. I already had ruby installed, so I never tested it.
  • Emacs
  • Org mode for Emacs, which is distributed with Emacs.
  • Perl, in order to run org2remind.pl.
  • org2remind.pl, which, as its name suggests, takes an org file and outputs a remind file with all of its events. See more information about this script here.
  • remind, to take the output of ial2rem.rb and org2remind.pl and create a fancy calendar.

Installation

This script does not need to be installed, per se. It just needs to be run. I have added it to my crontab, where it runs at 4:00am:

00 4 * * * /usr/local/bin/send-daily-agenda.sh [email protected]

The file being referenced there is actually a symbolic link that points to the script inside my home directory. The script looks to a file named "calendar_list" for URLs of Google calendars to download. Right now, that file needs to be in the same directory as the script.

Usage

Right now, there is not much customization with this script. Simply add email addresses that the script should be sent to as arguments.

Overview

This script takes a set of org files and Google calendars, extracts their events, and creates a remind-formatted calendar. It also creates an agenda with org mode from a set of org files. The calendar and agenda are put into an HTML-formatted email and sent out.

daily-agenda's People

Contributors

thailyn avatar

Watchers

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