2018-09-13 15:16:53 +02:00
#+TITLE : Some Technicalities about Building My Work Page
2018-11-19 12:34:20 +01:00
* Workflow
2019-01-21 17:13:06 +01:00
1. Load [[file:work.el ][=work.el= ]].
2019-11-18 17:37:17 +01:00
#+BEGIN_SRC elisp :results none
2018-11-19 12:34:20 +01:00
(load-file "~/Candies/Sites/work/work.el")
#+END_SRC
2. Open [[file:index.org ][=index.org= ]] and publish the current project.
2019-01-21 17:13:06 +01:00
3. Remove all timestamps.
2019-11-18 17:37:17 +01:00
#+BEGIN_SRC elisp :results none
2019-01-21 17:13:06 +01:00
(org-publish-remove-all-timestamps)
#+END_SRC
4. Reopen [[file:index.org ][=index.org= ]] and republish the current project to get the
updated timestamp.
5. Run [[file:deploy-seafile ][=deploy-seafile= ]].
2019-08-07 11:59:35 +02:00
6. Run =nix-shell [[file:shell-seafile.nix][shell-seafile.nix]]= and, within it,
2019-01-21 17:13:06 +01:00
=seafile-applet= to sync the changes to the server.
2018-11-19 12:34:20 +01:00
2020-02-17 15:20:29 +01:00
* Seafile problem <2020-02-17 Mon>
** 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 ]].
2018-09-13 15:16:53 +02:00
* Removing the publish cache
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
#+BEGIN_SRC css
background-color: azure;
background-color: lightcyan;
background-color: paleturquoise;
#+END_SRC
* References
** 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