Hastrack · 2022-03-17 22:29
I'll begin my first year in university and I decided to make a proper environment to take notes, I know, there are packages out there that already does that but I prefered to make my own thing. I don't really know if I turn this into a package or not, but might be usefull for someone and please if you know more about elisp, submit some PRs and give ideas.
Disclaimer: Org to pdf export might not be working because I'm still trying to come with an proper way to do that.
[**Git repo with package**](https://gitlab.com/mfxarc/uni-notes)
BettaGeorge · 2022-03-18 00:16
But ... but org-roam!
Writing your own package is fun, but I would still recommend checking out org-roam. It handles thousands of interlinked notes with ease and no measurable delay on my system, and syncs seemlessly over my cloud. Also, searching is lightning fast because it uses a database backend.
Hastrack · 2022-03-18 00:29
Yeah, I know all of that, I use it for daily notes and other stuff, but seems quite much for me and I just needed a simple solution. And I made this to integrate better with other own packages so I can I have a concise environment.
BettaGeorge · 2022-03-18 00:35
Fair enough, just wanted to throw it out there in case you hadn't tried it.
Out of curiosity, what kind of integration does your package have?
Hastrack · 2022-03-18 00:58
None yet to be honest, but the goal is to integrate with the following things:
* My hugo blog so I can easily convert a note to a post.
* Linguistic related functions and packages, so I can generate papers in that subject easier.
* Media related functions to better working with books, videos and so on as references.
* Books and Articles production.
The main goal is to make a note taking system that integrates well with my own functions, so I'll mainly rely on emacs built-in stuff.
SasukeUchiha231 · 2022-03-18 13:36
If you'd want better integration, i'd say build an extension on top of org-roam, it's actually incredibly easy. I extended org-roam, so that i can have 1 node per project, and quickly open the node corresponding to the project i'm in. It's very easily extendable, just saying
deaddyfreddy · 2022-03-19 11:00
Use linters (flycheck-package, flycheck-elsa etc)
(require 'transient)
(require 'consult)
add `Package-Requires:` to headers
(or (file-exists-p filepath)
(file-exists-p fileother)
(file-exists-p filepathorg)
(file-exists-p (expand-file-name title uni-root-path)))
check `seq-some`
> (if (let
`if-let`
(goto-line (if uni-latex-enable 7 6))
looks more neat to me
> (when (progn
no need to use progn here
(when uni-latex-enable
I suggest to make a minor mode here
> define-transient-command
don't put closing brackets on new lines
(defun uni--insert-note (file)
"Insert note as a org-link."
(insert "[[file:" (nth 0 (uni--get-title-path file)) "]["
(nth 1 (uni--get-title-path file)) "]]"))
don't repeat things, better bind it in `let`
> `uni--rg-file` `uni--rg-file-list`
share the same structure, consider making a generic function instead