work-site/work-notes.org

174 lines
5.9 KiB
Org Mode

#+TITLE: Some Technicalities about Building My Work Page
* Update checklist
1. [ ] Publications
2. [ ] Research keywords
3. [ ] Roles
4. [ ] Seminars
5. [ ] Programming
6. [ ] Teaching
7. [ ] News
8. [ ] Dead links
* Workflow
1. Load [[file:work.el][work.el]].
#+BEGIN_SRC elisp :results none
(load-file "~/Candies/Sites/work/work.el")
#+END_SRC
2. Open [[file:index.org][index.org]] and publish the current project with a prefix
(=C-u=) to get the updated timestamp, or run the following
snippet:
#+BEGIN_SRC elisp :results silent
(org-publish-project "work-site" t)
#+END_SRC
3. Go to https://entrepot.ibisc.univ-evry.fr/ and upload the files
and directories from [[file:www/][www/]] to the folder =ivanov-page-perso=.
The username to login to the entrepôt is =prénom.nom@ibisc.univ-evry.fr=, and the password is the same one
as for the Intranet IBISC. Detailed information [[https://intranet.ibisc.univ-evry.fr/projects/intranet/wiki/Entrep%C3%B4t_de_fichiers_Installation][here]].
The following source code block is a shortcut for reloading the
configuration, removing the timestamps, and publishing the
whole site.
#+BEGIN_SRC elisp :results silent
(load-file "~/Candies/Sites/work/work.el")
(org-publish-project "work-site" t)
#+END_SRC
Evaluating this code block opens the exported site in the last
viewed Firefox window.
#+BEGIN_SRC elisp :results silent
(shell-command "firefox www/index.html")
#+END_SRC
* Forcing Org-mode to ignore the timestamps <2021-11-20> :old:
:PROPERTIES:
:VISIBILITY: folded
:END:
Before today, I used to need to call
#+BEGIN_SRC elisp :results silent
(org-publish-remove-all-timestamps)
#+END_SRC
in order to force Org-mode to export every file. Now, this can be
done by setting the =FORCE= argument of =org-publish-project= to =t=, as seen in the above code blocks.
* Seafile problem <2020-02-17 Mon> :old:
:PROPERTIES:
:VISIBILITY: folded
:END:
** Problem
After another update, Seafile started telling me this when I tried
to start it:
#+BEGIN_QUOTE
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Aborted (core dumped)
#+END_QUOTE
I did a couple hours of searching, and found some threads, which did
not help:
- https://github.com/NixOS/nixpkgs/issues/42893
Idea: imperatively install Seafile and then tell it where to
search for plugin:
#+BEGIN_SRC shell
nix-env -iA nixpkgs.qt5.qtbase
export XDG_DATA_DIRS=$HOME/.nix-profile/share:$XDG_DATA_DIRS
#+END_SRC
Tried this literally, got
#+BEGIN_QUOTE
error: attribute 'nixpkgs' in selection path 'nixpkgs.qt5.qtbase' not found
#+END_QUOTE
- https://github.com/NixOS/nixpkgs/issues/65399
There is a new way to describe Qt packages which correctly handles
looking for plugins, this issue is there to help track all the
problems that this may lead to. There is [[https://hydra.nixos.org/build/96804884/download/1/nixpkgs/manual.html#sec-language-qt][some documentation]] as to
how to do it properly. I didn't feel like hacking Nixpkgs right
away.
- https://forum.qt.io/topic/111553/solved-qt-qpa-plugin-could-not-find-the-qt-platform-plugin-xcb-in/7
Tell Seafile where to look for plugins. This is not necessarily
even applicable with Nix.
- https://github.com/haiwen/seafile/issues/6
Apparently, Seafile has a CLI interface, but I don't find it in
my installation. More concretely, the file =seafile-cli= appears
in shell completions, but it doesn't launch nor could I find
where it was.
** My hack <2020-02-17 Mon>
My current hack consists in the following modifications:
1. Add =qt5.qtbase= and =seafile-client= to =home.packages= in
[[/home/scolobb/.config/nixpkgs/home.nix][=home.nix=]].
2. Install =seafile-shared= instead of =seafile-client= in
[[file:shell-seafile.nix][=shell-seafile.nix=]].
Very weirdly, this makes =seafile-applet= work. I tried not doing
(1) and putting all the packages in [[file:shell-seafile.nix][=shell-seafile.nix=]], but it
won't work. Also, again weirdly, outside of Nix shell the =seafile-applet= coming from the home-manager installation never
gets past the message
#+BEGIN_QUOTE
lang = English, translation = (null), locale.name() = en_US
#+END_QUOTE
without showing the interface or doing whatsoever.
** Proper solution?
A proper solution would probably consist in updating the Seafile
package to comply with the new [[https://hydra.nixos.org/build/96804884/download/1/nixpkgs/manual.html#sec-language-qt][way to describe Qt packages]].
* Removing the publish cache
:PROPERTIES:
:VISIBILITY: folded
:END:
Org-publish will not detect files being deleted from the output. To
force it to clear its caches, do the following:
#+BEGIN_SRC elisp
(org-publish-remove-all-timestamps)
#+END_SRC
* Possible colors for the banner
:PROPERTIES:
:VISIBILITY: folded
:END:
#+BEGIN_SRC css
background-color: azure;
background-color: lightcyan;
background-color: paleturquoise;
#+END_SRC
* References
:PROPERTIES:
:VISIBILITY: folded
:END:
** Org-mode
- https://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html
- https://orgmode.org/manual/Configuration.html#Configuration
- https://orgmode.org/manual/CSS-support.html#CSS-support
** Examples
- https://justin.abrah.ms/emacs/orgmode_static_site_generator.html
- https://bastibe.de/2013-11-13-blogging-with-emacs.html
- https://ogbe.net/blog/blogging_with_org.html
* Local Variables :noexport:
:PROPERTIES:
:VISIBILITY: folded
:END:
# Local Variables:
# eval: (auto-fill-mode)
# ispell-local-dictionary: "en"
# org-link-file-path-type: relative
# End: