Giter Club home page Giter Club logo

logbookorganizer's Introduction

LogbookOrganizer

This is a collection of scripts I use all the time to help manage my work as I do my Ph.D. The basic idea is to just stitch together a bunch of HTML files and folders that contain content, and to date and tag these files and folders so I can find related things quickly. This makes it easy to manage a lot of projects at once, and it allows me to find things quickly by tags.

Not only does this program help me when I need to show my work to people, it will also provide me with a record of what it took to get a Ph.D. I encourage you to use it so you can do the same!

Getting Started

First download the script from Github, either using git clone or downloading the .zip file off of Github.

Next make sure you have Python installed (which can be installed under Linux, Windows, and Mac and is beyond the scope of my tutorial). You will need to execute a python script so you can either do that from the command line or double clicking on a file if your operating system recognizes .py files.

Now note the directory structure (which should NOT be changed)

  • Logbook: This directory will store the main page (index.html) and all of the tag pages (every file in this folder is automatically generated). Click on index.html in this folder to view the logbook. The index.html page contains a list of tag hyperlinks at the top, and a table of entries below. Each entry is under a date heading. Clicking on the date hyperlink will bring you to the folder that contains all entries and files under that date. Clicking on the entry hyperlink will bring you to the HTML page for that entry.

  • LogbookAdmin: This directory contains the scripts that are used to generate the HTML code in the Logbook folder. When you would like to generate your logbook for the first time, or you have made any changes and would like to update your logbook, simply change to the LogbookAdmin directory and run the Logbook.py file.

python Logbook.py
  • LogbookEntries: This directory contains all of the content that you will create. I have included as a sample 4 separate entries on 3 different days, as well as a template entry "entry1.html". See the next section for how to make a logbook entry

Making a New Entry

To create a new entry, you first need to create a new directory in the LogbookEntries directory which has the date of that entry. The directory must be named as follows: YYYY-MM-DD. So for example, if I had an entry on January 12, 2010, I would create the directory 2010-01-12.

Once you have created the directory, you must create a file called entry1.html to represent the first entry on that date. Subsequent entries on the same day can be called entry2.html, entry3.html, etc. But they must all follow the convention entryX.html, starting with 1. I usually start by copying the template file entry1.html into my new folder and editing that.

Now to make the entry and inform the logbook how to deal with it, there is a bit of data you need to fill out at the top of your entry1.html file. The sample entry1.html file in LogbookEntries shows exactly how to do this. Repeated here for convenience:

<!--LOGBOOK ORGANIZER INFO
Description: This is a short description for a sample entry
Tags: SampleEntry, OtherTag
!-->
  • The first and fourth lines of that file are comments which you should not edit.

  • The second line contains a description of the entry which will show up in the logbook's index.html file and any tag files that contain this entry. It's a short description that helps you figure out what the entry is all about before you click on it. Be sure to keep the description all on one line.

  • The third line contains all of the tags of the entry separated by commas. The tags help you to file and find entries that are similar to each other, and any given entry can have many tags. I have tried to show examples of this in the samples LogbookEntries I have provided on Github.

The rest of the content in that file from line 5 on is totally up to you. It's an HTML file, so you will have to adhere to HTML syntax standards. But you can do a lot with HTML, which I've tried to highlight in my sample entries. Everything from embedding pictures, to making hyperlinks, to even embedding videos.

There is one more little option you have in this logbook which is to have "meeting entries." Instead of making an entryX.html file, you make a meeting1.txt file which links to another file (usually PDF or PPTX). This is for linking to presentations on a particular day. I have many, many meetings every week, so this was a useful feature for me. An example is shown in the LogbookEntry samples.

And That's It!

Once you are done all of this, you should be good to go! Just make those new entries and watch the logbook come to life! In all seriousness, this program has helped me significantly to become more organized in grad school and I think it's saved me a lot of time. Whenever I have meetings I just click on the appropriate tags and copy stuff from my recent entries into powerpoints.

logbookorganizer's People

Contributors

ctralie avatar

Stargazers

Tom Boccuto avatar Angus H. avatar Peter Tonner avatar  avatar

Watchers

Finbarr O'Callaghan avatar James Cloos avatar  avatar Brooks Mershon avatar

Forkers

rogerzou

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.