Changeset 487838e


Ignore:
Timestamp:
Oct 24, 2020, 8:19:52 AM (4 years ago)
Author:
Mikhail Kirillov <w96k@…>
Branches:
master
Children:
8e04a0f
Parents:
9742500
Message:

Add org-webring

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • content/about.org

    r9742500 r487838e  
    110110
    111111#+END_EXPORT
     112
     113* Сообщества
     114  Я администрирую/модерирую несколько сообществ в Telegram
     115
     116  | Название                   | Описание                                                                                        |
     117  |----------------------------+-------------------------------------------------------------------------------------------------|
     118  | [[https://t.me/gnu_ru][Группа GNU]]                 | Группа посвящена фонду свободного програмного обеспечения GNU и этике движения за свободное ПО. |
     119  | GNU Group (по приглашению) | Тоже самое, но на английском                                                                    |
     120  | [[https://t.me/gnu_guix_ru][Russian Guix System]]        | Полностью свободный функциональный пакетный менеджер и операционная система                     |
     121  | [[https://t.me/lisp_forever][Lisp Forever]]               | Обсуждение Common Lisp и других языков семейства Lisp                                           |
     122
     123  Предвкушая вопрос о свободности Telegram:
     124  [[https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html][Network Services Aren't Free or Nonfree; They Raise Other Issues]]
  • content/index.org

    r9742500 r487838e  
    33#+LANGUAGE: ru
    44
    5 * Статьи
     5* Cтатьи
    66
    7 #+BEGIN_SRC emacs-lisp :exports results :results html
    8 (defun read-lines (filePath)
     7  #+BEGIN_SRC emacs-lisp :exports results :results html
     8    (defun read-lines (filePath)
    99  "Return a list of lines of a file at filePath."
    10   (with-temp-buffer
    11     (insert-file-contents filePath)
    12     (split-string (buffer-string) "\n" t)))
     10           (with-temp-buffer
     11             (insert-file-contents filePath)
     12             (split-string (buffer-string) "\n" t)))
    1313
    1414;; Sort by modified date
    15 (setq list-of-posts (sort (directory-files-and-attributes "./posts" nil ".org$")
    16       #'(lambda (x y) (time-less-p (nth 6 y) (nth 6 x)))))
     15    (setq list-of-posts (sort (directory-files-and-attributes "./posts" nil ".org$")
     16                          #'(lambda (x y) (time-less-p (nth 6 y) (nth 6 x)))))
    1717
    1818(defun make-links (str)
    19   (setq file-name (car str))
    20   (setq str-link (s-replace ".org" ".html" file-name))
    21   ;; We make an assumption, that #+TITLE is on first line
    22   (setq article-title (s-replace "#+TITLE: " "" (car (read-lines (concat "posts/" file-name)))))
    23   (concat "<li><a href=\"/posts/" str-link "\">" article-title "</a></li>"))
     19                                                                                    (setq file-name (car str))
     20                                                                                    (setq str-link (s-replace ".org" ".html" file-name))
     21                                                                                    ;; We make an assumption, that #+TITLE is on first line
     22                                                                                    (setq article-title (s-replace "#+TITLE: " "" (car (read-lines (concat "posts/" file-name)))))
     23                                                                                    (concat "<li><a href=\"/posts/" str-link "\">" article-title "</a></li>"))
     24
     25    (concat "<ul>" (mapconcat 'make-links list-of-posts "\n") "</ul>")
     26  #+END_SRC
    2427 
    25 (concat "<ul>" (mapconcat 'make-links list-of-posts "\n") "</ul>")
    26 #+END_SRC
    27 
    28 * Проекты
    29 
    30 | Название     | Описание                                                                   |
    31 |--------------+----------------------------------------------------------------------------|
    32 | [[https://git.sr.ht/~w96k/doujinhub][GNU Ensemble]] | Платформа для музыкальной коллаборации между композиторами и исполнителями |
    33 
    34 * Сообщества
    35   Я администрирую/модерирую несколько сообществ в Telegram
    36 
    37 | Название                   | Описание                                                                                        |
    38 |----------------------------+-------------------------------------------------------------------------------------------------|
    39 | [[https://t.me/gnu_ru][Группа GNU]]                 | Группа посвящена фонду свободного програмного обеспечения GNU и этике движения за свободное ПО. |
    40 | GNU Group (по приглашению) | Тоже самое, но на английском                                                                    |
    41 | [[https://t.me/gnu_guix_ru][Russian Guix System]]        | Полностью свободный функциональный пакетный менеджер и операционная система                     |
    42 | [[https://t.me/lisp_forever][Lisp Forever]]               | Обсуждение Common Lisp и других языков семейства Lisp                                           |
    43 
    44   Предвкушая вопрос о свободности Telegram:
    45   [[https://www.gnu.org/philosophy/network-services-arent-free-or-nonfree.html][Network Services Aren't Free or Nonfree; They Raise Other Issues]]
    46 
     28* Другие авторы
     29 
     30  #+BEGIN_SRC emacs-lisp :exports results :results html
     31    (let ((org-webring-items-total 4)
     32          (org-webring-items-per-source 1)
     33          (org-webring-header 'nil)
     34          (org-webring-summary-max-length 150)
     35          (org-webring-display-version 'nil)
     36          (org-webring-display-generation-time 'nil)
     37          (org-webring-urls '("https://brettgilio.com/rss.xml"
     38                              "http://guix.gnu.org/feeds/blog.atom"
     39                              "https://drewdevault.com/blog/index.xml"
     40                              "https://wingolog.org/feed/atom"
     41                              "https://alirezahayati.com/feed"
     42                              "https://dthompson.us/feed.xml"
     43                              "https://ambrevar.xyz/atom.xml"
     44                              "https://brown.121407.xyz/posts/rss.xml")))
     45      (org-webring-generate-webring))
     46  #+END_SRC   
     47 
    4748* Пожертвования
    4849  Я принимаю пожертвования через платформу Liberapay. Пожертвования
  • env.scm

    r9742500 r487838e  
    33   "emacs-s"
    44   "emacs-simple-httpd"
     5   "emacs-org-webring"
    56   "coreutils"
    67   "inotify-tools"
  • public/css/custom.css

    r9742500 r487838e  
    214214    height: 3em;
    215215}
     216
     217/* Style for WEBRING */
     218.org-webring .org-webring-articles {
     219    display: flex;
     220    flex-flow: row wrap;
     221}
     222.org-webring .org-webring-article-title {
     223    font-size: 0.8rem;
     224    margin: 1em;
     225    font-weight: bold;
     226}
     227.org-webring .org-webring-article {
     228    background: #f6f6f6;
     229    flex: 1 1 auto;
     230    flex-basis: 40%;
     231    display: flex;
     232    flex-direction: column;
     233    margin: 0.5em;
     234    padding: 0.15em 0.3em;
     235    border: 0.1rem solid rgba(0,0,0,.25);
     236    transition: 0.3s;
     237    opacity: 1;
     238}
     239.org-webring .org-webring-article:hover {
     240    opacity: 1;
     241    background-color: #ebebeb;
     242}
     243
     244.org-webring .org-webring-article-pinned {
     245    position: relative;
     246    flex: 1 1 auto;
     247    flex-basis: 100%;
     248    display: flex;
     249    flex-direction: column;
     250    margin: 0 0.5rem;
     251    padding: 0.5rem;
     252    border: 0.15rem black solid;
     253    border-color: black;
     254    transition: 0.3s;
     255    opacity: 1;
     256}
     257.org-webring .org-webring-article-pinned:hover {
     258    opacity: 1;
     259    background-color: #fefefe;
     260}
     261.org-webring .org-webring-article-pinned-symbol{
     262    position: absolute;
     263    top: 0.2rem;
     264    right: 0.5rem;
     265}
     266.org-webring .org-webring-article-summary {
     267    font-size: 0.8rem;
     268    margin: 0 1em 1em 1em;
     269    flex: 1 1 0;
     270}
     271.org-webring .org-webring-attribution {
     272    text-align: right;
     273    font-size: 0.8rem;
     274    padding-right: 0.5em;
     275    color: #666;
     276}
     277.org-webring .org-webring-article-date {
     278    text-align: center;
     279}
     280.org-webring .org-webring-article-source {
     281    text-align: center;
     282}
     283.org-webring .org-webring-timestamp {
     284    color: #666;
     285}
     286@media screen and (max-width: 600px) {
     287    .org-webring .org-webring-articles {
     288        display: flex;
     289        flex-direction: column;
     290    }
     291}
     292@media screen and (max-width: 600px) {
     293    .org-webring .org-webring-article {
     294        flex: 1 1 auto;
     295        flex-basis: 100%;
     296        display: flex;
     297        flex-direction: column;
     298        margin: 0 0.5rem;
     299        margin-bottom: 0.5rem;
     300        padding: 0.5rem;
     301    }
     302    .org-webring .org-webring-article-pinned {
     303        position: relative;
     304        flex: 1 1 auto;
     305        flex-basis: 100%;
     306        display: flex;
     307        flex-direction: column;
     308        margin: 0 0.5rem;
     309        margin-bottom: 0.5rem;
     310        padding: 0.5rem;
     311        border: 0.15rem black solid;
     312        border-color: black;
     313        transition: 0.3s;
     314        opacity: 1;
     315    }
     316}
     317
Note: See TracChangeset for help on using the changeset viewer.