Giter VIP home page Giter VIP logo

org-lectures's Introduction

Org-lectures

I’m keeping this sort because I do not feel like elaborating right now. I’ll add extensive documentation by the end of the week.

(use-package org-lectures
  :straight
  (:host github :repo "chatziiola/org-lectures")
  :config
  (setq org-lectures-dir (expand-file-name "/your/path"))
  (setq org-lectures-static-course-files-dir  "/your/path")
  (setq org-lectures-roam-id-integration  t)
  :general
  (lc/leader-keys
    "ll" '(org-lectures-find-course		:which-keys "lecture")
    "lF" '(org-lectures-dired-course-folder	:which-keys "Open course's folder"))
  )

Quick Description:

This package allows the user to:

  1. Easily organize and manage their lecture notes through an interactive prompt.
  2. Easily navigate between lectures of the same course
  3. Quckly open the course’s directory (or directories if you use a split configuration)

Tips

Check out the cdlatex package, especially if you are in a field with plenty of mathematics. It allows for the smooth integration of latex inside of org mode.

TODOs:

  • [ ] Maybe implement classes. This is an obvious example of a program that could be improved with OOP.
  • [ ] See org-lectures-find-course for improvement (quicker course creation)
  • [ ] See maybe that you publish the strange keyword library as well, because I do not like using it like that in various places
  • [ ] See maybe that you publish the strange keyword library as well, because I do not like using it like that in various places

org-lectures's People

Contributors

chatziiola avatar

Watchers

 avatar

org-lectures's Issues

Use dired or local file explorer option

This option should be used when selecting the option "open folder" to determine the command to run, and will allow for the merge of these two "identical" open-folder functions

Implement SQL Backend

At this moment in time the only bottleneck in the package is the fact that, since it limits itself to file operations, it takes some time to open all lecture files in buffers and get the information required to open them.

This becomes obvious when comparing the time between the first time you call the driver function and the second time. In the second time (since all lecture files have already been opened in buffers), the prompt appears almost instantly.

One way to deal with this problem, and this is 100% inspired by org-roam, would be to have some database backend, from which I could read the data**

** While writing this i thought that a simple plain-text should suffice, if properly manipulated and standardized

Implement different types (customizable) of course notes

Sometimes when studying I find myself using many different files to work on. Lecture files, Study session files. Maybe the prefix (lec) at this moment may become customizable, in a dictionary "lec","lecture", "ses", "Study Session", etc.

I'm not sure whether this is good or overengineering, so I'll leave it here for the moment

Add org-roam-id function

Initial implementation should be extremely simple:

  • use date (and even second of creation to ensure uniqueness)

Document GTD integration

Even at this version the functionality of adding a task linked to the new lectures is implemented. However, it is nowhere stated, nor is the variable of the target file (usually the "inbox.org" file) available for customization

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.