summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-06org: conform to XHTML 1.0 strict in the websiteJSDurand
* org-conf.el (durand-org-publish-html-advice): I used the tag "time", which is not supported by XHTML 1.0 strict. Also the attribute "datetime" is invalid. So I use the "p" tag with a "subtitle" attribute to display the date/time information below the title of each article/post. Now the websites all conform to the XHTML 1.0 strict standard, which is a good thing, I surmise.
2021-09-06load outline-conf in the activation functionJSDurand
* init.el (durand-maybe-enable-outline): This is the activation function for outline-minor-mode, for me. So it makes sense to define this initially as a function to load my configurations, so that I can use the functionalities even if I haven't loaded my configurations yet.
2021-09-06eshell: formatting and a time comparisonJSDurand
* eshell-conf.el (eshell-current-command-stop): I shall compare both the number of seconds and the number of micro-seconds. Fix other formatting issues as well.
2021-09-06bind ESC to apply meta!JSDurand
META is more important than CONTROL, since, for example, M-x is most conveniently input using META-x. With M-x, one can literally input any command we want, so it is per chance the most important modifier, after all.
2021-09-05org: display feeds page in the sidebarJSDurand
* org-conf.el (durand-org-publish-sidebar): It is better to display the page containing the feeds in the sidebar, in my opinion.
2021-09-05org: Exclude javascript and add date/time infoJSDurand
* org-conf.el (org-html-head-include-scripts): Don't include that snippet here. (durand-org-publish-html-advice, org-html-publish-to-html): Advice the publishing function to include a date/time information in each post.
2021-09-02bongo: bulk replace song names in playlistsJSDurand
* bongo.el (durand-bongo-replace-name-in-playlist-files): When I moved some songs to sub-directories, I would like to quickly change the song names in the playlist files quickly, otherwise when playing songs from the playlists, they will become broken links. This function provides exactly this functionality. For the usage see the documentation of this function.
2021-08-31* .gitignore: ignore tramp record file as wellJSDurand
2021-08-31bongo: handle errors in timerJSDurand
* bongo.el (durand-bongo-mpv-player-tick): Now if the timer encounters an error, it will stop itself. Hopefully this can prevent Emacs from running the tick timer indefinitely that sometimes happens for no reason.
2021-08-29Generate Atom feeds for the websiteJSDurand
* org-conf.el (durand-sitemap-custom-string-alist) (durand-org-publish-sitemap): Add links to the atom files. (durand-org-post-process): Call `durand-org-generate-atom-feed' in this function. (durand-org-atom-titles-alist): Associate titles and feed files with the project name. (durand-org-atom-preamble, durand-org-atom-entry-template) (durand-org-atom-postamble): The generated Atom file is controlled by these template variables. (durand-org-atom-format-time): The zone of the time should be in a specific format that no time format string provides. So I write this function to provide this formatting. (durand-org-generate-atom-feed): Apply the templates to generate the Atom feed files.
2021-08-28Add more feeds and a playing featureJSDurand
* elfeed-conf.el (elfeed-feeds): More feeds. (durand-elfeed-play-video, durand-eshell-download-play-sentinel) (durand-elfeed-download-video, elfeed-search-mode-map) (elfeed-show-mode-map): Add a function to instantaneously play the video in the feed.
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.