summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-28Refinements to publish the blogJSDurand
* org-conf.el (durand-org-publish-sidebar) (durand-org-publish-insert-sidebar): Use a sidebar for the navigation: Instead of the built-in UP/HOME buttons, I want to go to sitemap files for different types of blog posts quickly. This is more convenient for the readers I think. This is inspired by the design of Protesilaos' website. (durand-org-publish-css-file): Add my own CSS file in the header. (durand-org-publish-favicon): Add the favicon I produced by a simple C program. (org-publish-project-alist): Add a Math type of blog posts. (durand-sitemap-custom-string-alist): Add a custom string to each type's sitemap file. (durand-org-publish-sitemap, durand-org-publish-sitemap-format): Use a table instead of a list in the sitemap. This is also inspired by the design of Protesilaos' website. (durand-org-publish-plist-get): The built-in `plist-get' mal-functions, and this is a replacement. After I update my Emacs, this problem might be fixed, and this replcement might not be needed anymore. (durand-org-publish-convert-time): Convert the result of `parse-time-string' to a time value. The result may lack some information, as the parsed string does not provide them. So this function supplies 0 for the missing values. Note that it assumes the year, month, and day cannot be missing, though. (durand-org-index-entries-max-num): Show at most a fixed number of entries on the index page. This maximum is set to 10 now. (durand-org-post-process): Shorten the date strings in the sitemap files: I need the exact date for sorting, but I don't want to show those information in the sitemap files. So I convert the long form of dates to comments, and use the shortened form for display. Also this generates a proper index page from the various sitemap files. Right now it will insert the entries to the index file each time this is called, which is kind of inefficient. I might adapt a more efficient method later on. I also want to generate Atom feeds in this function, but right now I don't have such a need, and this is not fulfilled yet. This kind of imitates the behaviour of Protesilaos' website.
2021-08-28Use my searx instance to searchJSDurand
2021-08-28* common.el (durand-take): Convenient functionJSDurand
2021-08-24* init.el ("rainbow-mode"): Useful for codes with colorsJSDurand
2021-08-24Use Org-mode to publish a blogJSDurand
* org-conf.el (org-publish-project-alist): The settings are stored in this variable. (durand-sitemap-custom-string-alist): My hack to insert some strings in sitemap files. (durand-org-publish-sitemap): Custom function to generate sitemaps. (durand-org-publish-sitemap-format): Add a date to the format of the entries. (ox): Add a require to avoid some errors at startup.
2021-08-21c-conf: re-bind and add include functionJSDurand
* c-conf.el (durand-c-prefix-map): Bind the pragma and the include functions. (c-mode-map): Bind the prefix map. (durand-c-include): Generate the include directives automatically.
2021-08-19Clear all irrelevant processes at onceJSDurand
* init.el (durand-simple-clear-processes): Clear all irrelevant processes at once. (global-map): Bind to the key "c" in `process-menu-mode-map'.
2021-08-17* .gitignore: add projectsJSDurand
2021-08-17new function: durand-copy-line-dwimJSDurand
* basic.el (global-map): Bind to "s-;". * common.el (durand-copy-line-dwim): This meets my needs to copy or duplicate lines.
2021-08-16Display Gnus in a separate tabJSDurand
The separation of Gnus into a tab means I can better handle the mails and deal with them without interrupting my other activities. * basic.el (display-buffer-alist): This creates the tab to display * GNUS. * gnus-conf.el (durand-display-gnus, gnus): This buries the original buffer and calls the previous function. And gnus is after-adviced by this function. This is needed since gnus calls `switch-to-buffer' instead of `display-buffer' internally. (durand-gnus-kill-tab): The kill-tab function kills the tab, if it is present. (durand-gnus-quit, gnus-group-mode-map): Bury the buffer and kills the tab. Bind to the original "q" key. (gnus-exit-gnus-hook): Call the kill-tab function in this hook.
2021-08-15* completion-conf.el (completions-format): one-columnJSDurand
2021-08-13bongo: only "tick" when seekingJSDurand
* bongo.el (durand-bongo-mpv-player-tick, bongo-mpv-player-tick): Cancel this timer as soon as possible. (durand-bongo-seek-stop-timer, durand-bongo-seek-tick) (durand-bongo-seek-start-timer): Start a dedicated timer for seeking purposes. Also update the seek buffer after updating the elapsed time. (durand-bongo-seek-start-timer-maybe): For compatibility, don't start the timer if the backend is not mpv.
2021-08-13fix comment headers and experiment with publishJSDurand
Some comment should start with three semi-colons so that they are treated as outline headings. * org-conf.el (org-publish-project-alist): Experiment with this.
2021-08-13adapt to the latest modus-themesJSDurand
The changes are according to the documentation in the info of the package, and are mainly personal preferences, so I do not want to record the rationales here (and there is none). * theme.el (modus-themes-syntax, modus-themes-mode-line) (modus-themes-hl-line, modus-themes-region, modus-themes-org-agenda) (modus-themes-variable-pitch-ui):
2021-08-13* gnus-conf.el (sc-confirm-always-p): too annoyingJSDurand
2021-08-13* .gitignore: This should be part of the repository.JSDurand
2021-08-12new: add outline configurationsJSDurand
Configuring outline-minor-mode, which provides an easy interface to navigate around codes. I mainly use this in Emacs Lisp buffers now. * outline-conf.el (durand-outline-regexp-alist): Each major mode could have a unique outline heading. (durand-outline-blocklist, durand-maybe-enable-outline): Don't enable outline minor mode for derived modes of the major modes in the block list. (outline-minor-mode-highlight): I want to highlight the headings. (outline-minor-mode-cycle): I like the cycling behaviour. (outline-minor-mode-map): Bind my custom key-bindings. * view-conf.el (durand-view-map): Bind to my custom map.
2021-08-12fix: sentence-end-double-spaceJSDurand
* basic.el (sentence-end-double-space): I used to erroneously set this to nil.
2021-08-12new: configure superciteJSDurand
* gnus-conf.el (sc-cite-original): This is the main user entry point of Supercite. (mail-citation-hook): This hook is used to cite messages. (sc-electric-references-p): Don't use electric reference mode automatically. I prefer the manual approach. (sc-preferred-header-style): I like "sc-header-on-said". (sc-nested-citation-p): I prefer the non-nested style.
2021-08-12rename: LICENSE -> COPYINGJSDurand
This conforms to GNU coding standard. Note this is just a personal taste. It is of course not mandatory for my personal Emacs configuration file to conform to a coding standard.
2021-08-11fix: basic - bookmark-fontifyJSDurand
* basic.el (bookmark-fontify): This Emacs-28-specific option is annoying to me, as it causes an overlay to appear which is not so easy to dismiss immediately.
2021-08-11new: gnus disable auto-save for dribble fileJSDurand
* gnus-conf.el (gnus): add an advice to disable auto-save-mode for the dribble file.
2021-08-10change: eshell-clearJSDurand
* eshell-conf.el (eshell-clear): Now it accepts a numeric argument. This will now preserve NUM many prompts.
2021-08-09change: beautify the dashboard in durand-ibuffer-clearJSDurand
* ibuffer.el (durand-ibuffer-clear): Place the point at the last character and recenter to show the whole buffer nicely.
2021-08-09fix: durand-ibuffer-clearJSDurand
* ibuffer.el (durand-ibuffer-clear): Make the behaviour with a prefix argument respect the `durand-clear-passlist'. And the prefixed behaviour now restricts the range of deletion to the marked buffers, which is kind of the opposite of the original behaviour. The rationale is that we can easily toggle marks in ibuffer, and to delete marked buffers is a much more intuitive behaviour.
2021-08-09new: expand elisp macrosJSDurand
* elisp.el (elisp-macro-buffer): The buffer that displays the expansion. (elisp-macro-expand): Expand the macro, and either displays in a temporary buffer, or replace the original region. Right now this only expands one form at a time. I might want to modify this in the future so that this will expand every form found in the region. For now this is enough for me. (emacs-lisp-mode-map): Bind it to C-c C-e.
2021-08-09new: view pagesJSDurand
* view-conf.el (view-mode-map): Bind M-n/p to forward/backward-page commands.
2021-08-09fix: elisp fontificationJSDurand
* elisp.el (emacs-lisp-highlight-vars-and-faces): Now the quote #' will mark the symbol as a function, if it really is a function.
2021-08-08Bind H-e to eshell as well.JSDurand
* basic.el (global-map): The old binding "C-c v e" is too troublesome.
2021-08-08change: add a pass list and some filtersJSDurand
* ibuffer.el (dashboard-buffer-name): to be added to the pass list. (durand-clear-passlist): Buffer names listed in this variable will not be deleted automatically. (durand-ibuffer-clear): Do not delete those buffers whose names are a member of `durand-clear-passlist'. (durand-directory): a filter for matching files whose associated files are in a subdirectory of the qualifier. This needs more testing, though. (durand-bongo-set-filter): Add groups for C, ELisp, EWW, and Roman.
2021-08-06fix: bongo docJSDurand
* bongo.el (durand-bongo-dired-library): Fix the documentation string in which a variable was marked incorrectly.
2021-08-05fix: poor man' live upadtingJSDurand
* completion-conf.el (durand-minibuffer-respect-inhibit-advice) (minibuffer-message): Make sure this respects the value of `inhibit-message'. (durand-completion-display-after-change): Previously this will add a message at the end of the minibuffer after completing, so that the input becomes invalid. Now this problem is fixed.
2021-08-05new: man-conf.elJSDurand
* man-conf.el (durand-member): A helper declared in another configuration file. (Man-kill, durand-Man-kill): Overriding the default Man-kill to also kill the tab associated with the Manual page.
2021-08-04change: adjust the default olivetti body widthJSDurand
* view-conf.el (durand-focus): Use a default olivetti body width of 80 instead of 65.
2021-08-04fix: make text-conf stand aloneJSDurand
* text-conf.el (correct-length): Was using a function from modeline configurations. I might want to revert back to that function in the future. (center-string-in-width): Was using a function from my novel-reading package. (vc-diff): Add an autoload.
2021-08-04new: vc-confJSDurand
* vc-conf.el: add my configurations for vc. Right now it just defines a function in vc-dir-mode-map, but in the future I might want to do more things in it.
2021-08-02new: eww-confJSDurand
* eww-conf.el (browse-url-browser-function) (browse-url-secondary-browser-function): Now the default is EWW, and the secondary is the external browser. (eww-mode-map): Bind my download function. (durand-eww-download-callback, durand-eww-download): Customized download function that suits my needs.
2021-08-01change: Bind view-mode to s-vJSDurand
* basic.el (global-map): The key (vector ?\s-v) was bound to `durand-focus-completion-or-minibuffer', but I found that I seldom use that functionality, so I bind it to the more frequently used `view-mode' instead.
2021-07-31new: yt-url in eshellJSDurand
* eshell-conf.el (eshell/yt-url): The function that eshell calls. (eshell-yt-url): The function that actually does the job. It converts the name of the video to its corresponding YouTube URL, and either saves it to the kill-ring or opens it in the default external browser.
2021-07-30new: add a dwim function for viewing diffJSDurand
* text-conf.el (durand-diff-dwim): Either diff with file or vc-diff, depending on whether the buffer is modified, whether the file is associated with a registered file, whether the argument is (list 16). (global-map): Bind to the global map.
2021-07-27fix: require type-breakJSDurand
* eshell-conf.el (require 'type-break): This is required by the function #'timep.
2021-07-27new: insert time-stampJSDurand
* text-conf.el (global-map): (durand-insert-timestamp): Add a function to insert timestamps and bind it to H-= in the global map. This is inspired by a similar function of Protesilaos.
2021-07-27fix: a bug in pdf-view-position-to-registerJSDurand
* pdf.el (pdf-view-use-dedicated-register): Integrate with the global registers. (pdf-view-position-to-register): (durand-pdf-view-position-to-register): Fix a bug that cannot add new registers caused by an improper use of a macro.
2021-07-23new: add functionality to durand-switch-tab-dwimJSDurand
* tab-conf.el (durand-switch-tab-dwim): Include rename-tab, dired-other-tab, and find-file-other-tab now.
2021-07-21new: gnus treat articleJSDurand
gnus-conf.el (gnus-treat-repunctuate): Ensure that sentences end with double spaces. (gnus-part-display-hook): add the function to the hook.
2021-07-20change: durand-focusJSDurand
* view-conf.el (durand-focus-focus): Toggle font-size and/or variable-pitch-mode, depending on the argument. (durand-focus): Now focus mode won't increase font-size and variable-pitch-mode by default. Instead use the following binding to toggle these settings if desired. (durand-focus-map): Bind to "M-s-f".
2021-07-20change: replace and delete pairsJSDurand
* init.el ("durand-simple"): Now I can replace or delete pairs easily.
2021-07-19change: view-confJSDurand
* view-conf.el (durand-focus-map): (view-mode-map): Bind paragraph-moving functions to 'view-mode-map' instead of 'durand-focus-map'.
2021-07-19fix: fix bugsJSDurand
* eshell-conf.el (eshell-current-command-stop): I forgot to remove a message statement that was for the debugging purpose only. (durand-eshell-emit-prompt): Add necessary text properties for eshell to function normally. (eshell-clear): Add inhibit-read-only so that we can clear even if the prompt is not after the last prompt.
2021-07-19new: track time in eshellJSDurand
Now eshell will display the elapsed time of the last command at the beginning of the prompt. * eshell-conf.el (eshell-current-command-start-time): the variable to track the start time of the commands. (eshell-prompt-time-string): this will be displayed at the prompt, if non-nil. (eshell-current-command-start): set an appropriate variable as the start time of the command. (eshell-current-command-stop): calculat the elapsed time since the last command started and convert that into a pretty string to display. (eshell-current-command-time-track): add hooks. (eshell-start-track-command-time): (eshell-stop-track-command-time): switches of the time-tracking mechanism. (#'eshell-emit-prompt): (durand-eshell-emit-prompt): advice the original function to take into account the time information. refactor: (eshell/marks): add some colors