work-site/work-notes.org

7 KiB

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 work.el.

    (load-file "~/Candies/Sites/work/work.el")
  2. Open index.org and publish the current project with a prefix (C-u) to get the updated timestamp, or run the following snippet:

    (org-publish-project "work-site" t)
  3. Go to https://entrepot.ibisc.univ-evry.fr/ and upload the files and directories from 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 here.

The following source code block is a shortcut for reloading the configuration, removing the timestamps, and publishing the whole site.

(load-file "~/Candies/Sites/work/work.el")
(org-publish-project "work-site" t)

Evaluating this code block opens the exported site in the last viewed Firefox window.

(shell-command "firefox public_html/index.html")

Pushing to remote

Run the following command:

(async-shell-command "sftp -b push.sftp sivanov@pageperso.ibisc.univ-evry.fr")

The output will appear in a buffer called *Async Shell Command*.

New way of updating the page <2024-09-25 Wed>

I asked Ludovic again if he could give me some direct access to a directory so that I don't have to toy with Seafile, which also regularly broke and didn't actually update my page.

Ludovic gave me SFTP access to a remote directory which I can check out as follows:

sftp sivanov@pageperso.ibisc.univ-evry.fr

Pubkey authentication with my normal public key works as of today.

I wrote a short SFTP script to push the files to remote.

I used to put the exported HTML files into www/, but I could not figure out how to make sftp transfer www/ and overwrite public_html/ remotely, rather than putting it in as a subdirectory. I figured it was easier to just rename the local directory, as I don't care anyway.

Forcing Org-mode to ignore the timestamps <2021-11-20 Sat>   old

Before today, I used to need to call

(org-publish-remove-all-timestamps)

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

Problem

After another update, Seafile started telling me this when I tried to start it:

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)

I did a couple hours of searching, and found some threads, which did not help:

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.nix.
  2. Install seafile-shared instead of seafile-client in shell-seafile.nix.

Very weirdly, this makes seafile-applet work. I tried not doing (1) and putting all the packages in 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

lang = English, translation = (null), locale.name() = en_US

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 way to describe Qt packages.

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:

  (org-publish-remove-all-timestamps)

Possible colors for the banner

  background-color: azure;
  background-color: lightcyan;
  background-color: paleturquoise;