LINUX.ORG.RU

Сообщения o_--

 

Emacs, добавление заголовка к ссылке в org-mode (2)

Форум — Development

Старая тема (Emacs, добавление заголовка к ссылке в org-mode) уже в архиве. Но прогресс не остановить.

Понадобилось добавить отмену по timeout. Спросил у ChatGPT o1-preview. Он выдал мне такой рабочий код:

(defun org-link-describe (url &optional descr)
  "Retrieve the HTML title from a URL with a 3-second timeout using request.el."
  (require 'request)
  (require 'dom)
  (let ((result nil)
        (done nil)
        (timeout 3)
        (request-backend 'url-retrieve))  ;; Use url-retrieve backend
    ;; Send the HTTP request
    (request
     url
     :timeout timeout
     :headers '(("User-Agent" . "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"))
     :parser (lambda ()
               ;; Parse the HTML content into a DOM
               (libxml-parse-html-region (point) (point-max)))
     :success (cl-function
               (lambda (&key data &allow-other-keys)
                 ;; Extract the <title> element
                 (let ((title-node (dom-by-tag data 'title)))
                   (when title-node
                     (setq result (dom-text (car title-node)))))
                 (setq done t)))  ;; Ensure this is inside the lambda
     :error (cl-function
             (lambda (&rest args &key error-thrown &allow-other-keys)
               (message "Error fetching URL: %s" error-thrown)
               (setq done t))))   ;; Ensure this is inside the lambda
    ;; Wait for the request to finish or timeout
    (let ((wait-time 0)
          (step 0.1))
      (while (and (not done)
                  (< wait-time timeout))
        (sleep-for step)
        (setq wait-time (+ wait-time step))))
    result))

;; Fill a description for a link
(setq org-make-link-description-function 'org-link-describe)

Но этот код не работает со страницами в кодировке koi8-r, например, opennet. Предложения по улучшению кода всячески приветствуются (я не знаю ELisp).

 , ,

o_--
()

Lubuntu 20.04 и артефакты (Intel 11600, UHD 750)

Форум — Linux-hardware

Наблюдаю артефакты. Есть видео, но не знаю куда залить. Что можете посоветовать?

Проблемы появились после сегодняшнего обновления. До этого всё было сносно. Обновлялись сегодня mesa, plasma из KDE и ещё какие-то пакеты из KDE.

 , , ,

o_--
()

Блокировка HTTP-сканеров

Форум — Admin

В логах nginx есть вот такие запросы. Их много, они разные, но в основном нацелены на WordPress.

GET /wp/wp-includes/wlwmanifest.xml
GET / HTTP/1.1\x5Cr\x5Cn
GET /dispatch.asp
GET /config/getuser?index=0
GET /boaform/admin/formLogin?username=ec8&psd=ec8

Стоит ли их блокировать? Если стоит, то как? Очень мало информации по данному вопросу. Возможно, я задаю не те вопросы.

 , ,

o_--
()

Emacs org-mode и периодические задачи: нежелательная автоматическая смена даты.

Форум — General
  1. Есть задача, которую нужно выполнить в конце месяца. Если я опоздал с выполнением на пару дней, то месяц добавляется не к дате DEADLINE, а к дате фактического выполнения. А мне этот сдвиг совсем не нужен. Как это исправить?
** TODO [#B] Отправить показания счётчика электроэнергии
   DEADLINE: <2021-10-28 Вс .+1m -2d>

И ещё у меня есть два дополнительных вопроса.

  1. Как запланировать задачу на последний день месяца?

  2. Что даёт указание :STYLE: habit?

** TODO Things
   SCHEDULED: <2016-01-17 Sun .+1m>
   :PROPERTIES:
   :STYLE:    habit
   :END:

 ,

o_--
()

Emacs, добавление заголовка к ссылке в org-mode

Форум — Development

Очень плохо понимаю язык Lisp, тем более ELisp. Нужна ваша помощь. В org-mode есть функция для добавления ссылки (Ctrl-x Ctrl-l). Но название ссылки надо вводить руками. Я нашел код, чтобы вставлять текст из <title></title>, но кириллица отображается неверно. Вопросы:

  1. Как получить кириллицу в правильной кодировке?
  2. Как вызывать эту функцию только если это ссылка на веб-страницу? (не на файл и т.п.)
;; Function gets title from a HTML page
(defun org-link-describe (url &optional descr)
  (let ((buffer (url-retrieve-synchronously url))
        (title nil))
    (save-excursion
      (set-buffer buffer)
      (goto-char (point-min))
      (search-forward-regexp "<title>\\([^<]+?\\)</title>")
      (setq title (match-string 1 ) )
      (kill-buffer (current-buffer)))
    title))

;; Fill a description for a link
(setq org-make-link-description-function 'org-link-describe)

 , ,

o_--
()

RSS подписка на новые темы