Set up a lot of technical details.
Org-mode publishing, CSS styles, as well as some rudiments of content of the English home page.
This commit is contained in:
commit
0b51330e24
11 changed files with 289 additions and 0 deletions
7
Readme.md
Normal file
7
Readme.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
work-site
|
||||||
|
=========
|
||||||
|
|
||||||
|
This is the source of my professional website.
|
||||||
|
|
||||||
|
As of 2018-09-13, the site is not yet online, but it should be
|
||||||
|
available real soon.
|
99
content/css/default.css
Normal file
99
content/css/default.css
Normal file
|
@ -0,0 +1,99 @@
|
||||||
|
body {
|
||||||
|
color: black;
|
||||||
|
background-color: lightgray;
|
||||||
|
|
||||||
|
font-family: "Open Sans", "DejaVu Sans";
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
background-color: white;
|
||||||
|
text-align: justify;
|
||||||
|
|
||||||
|
border-style: solid;
|
||||||
|
border-style: gray;
|
||||||
|
border-width: 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 900px;
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#preamble {
|
||||||
|
background-color: lightcyan;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 0 auto 5px auto;
|
||||||
|
|
||||||
|
width: 905px;
|
||||||
|
padding: 15px 0px 15px 50px;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.me {
|
||||||
|
float: right;
|
||||||
|
padding: 0px 0px 0px 15px;
|
||||||
|
width: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.uevelogo {
|
||||||
|
margin: 0px 10px 0px 10px;
|
||||||
|
height: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.ibisclogo {
|
||||||
|
margin: 0px 35px 0px 10px;
|
||||||
|
height: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.myname {
|
||||||
|
font-family: "Linux Libertine", "Open Sans", "DejaVu Sans";
|
||||||
|
font-size: 40px;
|
||||||
|
font-variant: small-caps;
|
||||||
|
margin: auto 0;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.logos {
|
||||||
|
margin-right: 47px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#postamble {
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 900px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.poweredby {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.quicklinks {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: 2px solid white;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
background-color: lightcyan;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 5px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
margin: 20px 0px 0px 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.outline-text-2 {
|
||||||
|
padding-left: 11px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.outline-text-3 {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
5
content/css/notitle.css
Normal file
5
content/css/notitle.css
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
@import "default.css";
|
||||||
|
|
||||||
|
h1.title {
|
||||||
|
display: none;
|
||||||
|
}
|
BIN
content/imgs/ibisc.png
Normal file
BIN
content/imgs/ibisc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
content/imgs/ueve.png
Normal file
BIN
content/imgs/ueve.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 224 KiB |
BIN
content/me/cv-en.pdf
Normal file
BIN
content/me/cv-en.pdf
Normal file
Binary file not shown.
BIN
content/me/sivanov.png
Normal file
BIN
content/me/sivanov.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
52
en/home.org
Normal file
52
en/home.org
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#+TITLE: Sergiu Ivanov
|
||||||
|
|
||||||
|
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../content/css/notitle.css" />
|
||||||
|
|
||||||
|
#+ATTR_HTML: :alt a picture of sergiu ivanov :class me
|
||||||
|
[[../content/me/sivanov.png]]
|
||||||
|
|
||||||
|
I am holding an associate professor ([[https://en.wikipedia.org/wiki/Academic_ranks_in_France#Permanent_positions][maître de conférences]]) position
|
||||||
|
at [[http://www.univ-evry.fr/fr/index.html][Université d'Évry Val d'Essonne]]. I do my research at the [[https://www.ibisc.univ-evry.fr/start?do=search&id=][IBISC Lab]].
|
||||||
|
|
||||||
|
Write to me at *=sergiu= $_{dot}$ =ivanov= (at) =univ-evry.fr=* .
|
||||||
|
|
||||||
|
This is my [[file:~/Candies/Sites/work/content/me/cv-en.pdf][CV]].
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
Jump to:
|
||||||
|
|
||||||
|
#+ATTR_HTML: :class quicklinks
|
||||||
|
| | [[Research]] | [[Teaching]] |
|
||||||
|
| | [[Publications]] | [[Programming]] |
|
||||||
|
| | [[Past positions]] | [[Full contact information]] |
|
||||||
|
|
||||||
|
* Research
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
* Teaching
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
* Programming
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
* Publications
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
** Seminars
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
* Past positions
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
|
||||||
|
* Full contact information
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
||||||
|
ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex ueauex
|
9
fr/home.org
Normal file
9
fr/home.org
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#+TITLE: Sergiu Ivanov
|
||||||
|
|
||||||
|
* Research
|
||||||
|
* Teaching
|
||||||
|
* Programming
|
||||||
|
* Seminars
|
||||||
|
* Publications
|
||||||
|
* PhD
|
||||||
|
* Full contact information
|
25
work-notes.org
Normal file
25
work-notes.org
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#+TITLE: Some Technicalities about Building My Work Page
|
||||||
|
|
||||||
|
* 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
|
92
work.el
Normal file
92
work.el
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
;; work.el
|
||||||
|
;;
|
||||||
|
;; The file setting up Org-mode to publish my work page.
|
||||||
|
;;
|
||||||
|
;; This file should be evaluated from within Emacs using the
|
||||||
|
;; 'eval-buffer' command.
|
||||||
|
|
||||||
|
;; Produce the string about the update date and time in French if lang
|
||||||
|
;; is 'fr and in English if lang is 'en or anything else.
|
||||||
|
(defun make-update-time (lang)
|
||||||
|
(let ((date (format-time-string "%Y-%m-%d"))
|
||||||
|
(time (format-time-string "%H:%M")))
|
||||||
|
(cond ((eq lang 'en) (concat "Updated on " date " at " time "."))
|
||||||
|
((eq lang 'fr) (concat "Mis à jour le " date " à " time "."))
|
||||||
|
(t (concat "Updated on " date " at " time ".")))))
|
||||||
|
|
||||||
|
;; Produce the string Powered by Org-mode in the appropriate language.
|
||||||
|
(defun make-powered-by (lang)
|
||||||
|
(let ((orgmode "<a href=\"https://orgmode.org/\">Org-mode</a>")
|
||||||
|
(src "<a href=\"https://git.marvid.fr/\">source</a>"))
|
||||||
|
(cond ((eq lang 'fr)
|
||||||
|
(concat "Propulsé par " orgmode " (" src ")."))
|
||||||
|
(t
|
||||||
|
(concat "Powered by " orgmode " (" src ").")))))
|
||||||
|
|
||||||
|
;; Produce the postamble in the given language (same convention as for
|
||||||
|
;; make-update-time).
|
||||||
|
(defun make-postamble (lang)
|
||||||
|
(concat "<span class=\"updated\">"
|
||||||
|
(make-update-time lang)
|
||||||
|
"</span> <span class=\"poweredby\">"
|
||||||
|
(make-powered-by lang)
|
||||||
|
"</span>"))
|
||||||
|
|
||||||
|
|
||||||
|
;; Set up org-publish for my work site.
|
||||||
|
(let* ((work-base "~/Candies/Sites/work/")
|
||||||
|
(publishing-base (concat work-base "www/"))
|
||||||
|
(my-styles "<link rel=\"stylesheet\" type=\"text/css\" href=\"../content/css/default.css\" />")
|
||||||
|
(my-preamble "
|
||||||
|
<span class=\"myname\">Sergiu Ivanov</span>
|
||||||
|
<span class=\"logos\">
|
||||||
|
<a href=\"https://www.ibisc.univ-evry.fr/\"><img src=\"../content/imgs/ibisc.png\" alt=\"lab logo\" class=\"ibisclogo\" /></a>
|
||||||
|
<a href=\"https://www.univ-evry.fr/accueil.html\"><img src=\"../content/imgs/ueve.png\" alt=\"university logo\" class=\"uevelogo\" /></a>
|
||||||
|
</span>"))
|
||||||
|
|
||||||
|
|
||||||
|
(setq org-publish-project-alist
|
||||||
|
`(("work-site"
|
||||||
|
:components ("work-site-en" "work-site-fr" "work-site-content"))
|
||||||
|
|
||||||
|
|
||||||
|
("work-site-en"
|
||||||
|
:base-extension "org"
|
||||||
|
:base-directory ,(concat work-base "en/")
|
||||||
|
:publishing-directory ,(concat publishing-base "en/")
|
||||||
|
:publishing-function org-html-publish-to-html
|
||||||
|
|
||||||
|
:section-numbers nil
|
||||||
|
:with-toc nil
|
||||||
|
:with-latex t
|
||||||
|
|
||||||
|
:html-head-include-default-style nil
|
||||||
|
:html-head-include-scripts nil
|
||||||
|
:html-head-extra ,my-styles
|
||||||
|
:html-preamble ,my-preamble
|
||||||
|
:html-postamble ,(make-postamble 'en))
|
||||||
|
|
||||||
|
|
||||||
|
("work-site-fr"
|
||||||
|
:base-extension "org"
|
||||||
|
:base-directory ,(concat work-base "fr/")
|
||||||
|
:publishing-directory ,(concat publishing-base "fr/")
|
||||||
|
:publishing-function org-html-publish-to-html
|
||||||
|
|
||||||
|
:section-numbers nil
|
||||||
|
:with-toc nil
|
||||||
|
:with-latex t
|
||||||
|
|
||||||
|
:html-head-include-default-style nil
|
||||||
|
:html-head-include-scripts nil
|
||||||
|
:html-head-extra ,my-styles
|
||||||
|
:html-preamble ,my-preamble
|
||||||
|
:html-postamble ,(make-postamble 'fr))
|
||||||
|
|
||||||
|
|
||||||
|
("work-site-content"
|
||||||
|
:base-extension any
|
||||||
|
:base-directory ,(concat work-base "content/")
|
||||||
|
:publishing-directory ,(concat publishing-base "content/")
|
||||||
|
:publishing-function org-publish-attachment
|
||||||
|
:recursive t))))
|
Loading…
Add table
Reference in a new issue