diff --git a/.gitignore b/.gitignore
index cc17c9c..b601858 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ var/
 eclipse.jdt.ls/
 workspace/
 /.extension/
+/diary
diff --git a/configs/base-extensions.el b/configs/base-extensions.el
index b725c2a..3cff977 100644
--- a/configs/base-extensions.el
+++ b/configs/base-extensions.el
@@ -270,6 +270,10 @@
   (setq mouse-wheel-progressive-speed nil)     ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va)
   )
 
+(use-package silicon
+  :ensure t
+  :straight (silicon :type git :host github :repo "iensu/silicon-el"))
+
 (use-package tree-sitter
   :defer t
   :straight t
diff --git a/configs/base-functions.el b/configs/base-functions.el
index db46d50..c71bcf7 100644
--- a/configs/base-functions.el
+++ b/configs/base-functions.el
@@ -7,6 +7,18 @@
 
 ;;; Code:
 
+;; Crear captura SVG del frame atual. Fuente: https://www.reddit.com/r/emacs/comments/idz35e/emacs_27_can_take_svg_screenshots_of_itself/
+(defun screenshot-svg ()
+  "Save a screenshot of the current frame as an SVG image.
+Saves to a temp file and puts the filename in the kill ring."
+  (interactive)
+  (let* ((filename (make-temp-file "Emacs" nil ".svg"))
+         (data (x-export-frames nil 'svg)))
+    (with-temp-file filename
+      (insert data))
+    (kill-new filename)
+    (message filename)))
+
 ;; Comentar línea o región
 (defun comment-or-uncomment-region-or-line ()
     "Comments or uncomments the region or the current line if there's no active region."