aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsantisoler <santisoler@texto-plano.xyz>2022-05-01 23:37:02 +0000
committersantisoler <santisoler@texto-plano.xyz>2022-05-01 23:37:02 +0000
commit8b48ac3016a839cf8fb4e013d71a70d2172f1b52 (patch)
treecc53b1ea3b70c55fd41bfb978ca2c464720d7309
downloadnotas-8b48ac3016a839cf8fb4e013d71a70d2172f1b52.tar.gz
Initial commit
-rw-r--r--LICENSE.txt25
-rw-r--r--README.md55
-rw-r--r--notas59
3 files changed, 139 insertions, 0 deletions
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..86170c9
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,25 @@
+Copyright (c) 2022 ~santisoler
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+* Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2805e09
--- /dev/null
+++ b/README.md
@@ -0,0 +1,55 @@
+# `notas`
+
+> Un sencillo script para tomar notas o llevar un diario en texto plano.
+
+Al ejecutar `notas` el script genera archivos Markdown organizados de forma
+cronológica: una archivo por cada mes del año y dentro de ellos subsecciones
+para cada día.
+
+Es posible configurar el directorio en el cual vamos a guardar nuestras notas
+modificando la variable `notas_dir` en el script.
+
+Puedes utilizar comandos como `grep` para buscar notas anteriores en todo tu
+directorio y sincronizar tus notas con herramientas como Syncthing, Nextcloud
+o rsync.
+
+
+## Cómo instalar?
+
+Clona este repositorio en tu computadora:
+
+```
+git clone https://git.texto-plano.xyz/santisoler/notas
+```
+
+Navega a la carpeta decargada:
+
+```
+cd notas
+```
+
+Y copia el script `notas` en un directorio que se encuentre en tu variable
+`PATH`.
+
+> Puedes comprobar qué directorios se encuentran en tu variable `PATH`
+> ejecutando `echo $PATH`.
+
+Por ejemplo, instalando el script para tu usuario:
+
+```
+cp notas ~/.local/bin
+```
+
+O bien, para todes les usuaries del sistema (requiere permisos de
+superusuario):
+
+```
+cp notas /usr/local/bin
+```
+
+
+## Licencia
+
+Este repositorio contiene Software Libre: puedes redistribuirlo y/o modificarlo
+dentro de los términos de la licencia **BSD 3-clause**. Una copia de esta
+licencia se encuentra provista en el archivo LICENSE.txt.
diff --git a/notas b/notas
new file mode 100644
index 0000000..353e036
--- /dev/null
+++ b/notas
@@ -0,0 +1,59 @@
+#!/bin/bash
+#
+# Copyright 2022 santisoler
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# 3. Neither the name of the copyright holder nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Elegimos la carpeta donde vamos a guardar nuestras notas
+notas_dir=$HOME/notas
+
+# Definimos el archivo de notas a crear o editar
+notas=$notas_dir/$(date +%Y-%m).md
+
+# Creamos el directorio notas_dir si no existe
+if [[ ! -d $notas_dir ]]; then
+ mkdir "$notas_dir"
+fi
+
+if [[ -e $notas ]]; then
+ # Obtener la última fecha del archivo de notas
+ ultima_fecha=$(cat "$notas" | grep "^## " | tail -1 | sed 's/## //')
+else
+ # Creamos el archivo de notas si no existe
+ echo "# Notas del $(date +%Y-%m)" > "$notas"
+ ultima_fecha=""
+fi
+
+# Editamos el archivo de notas con Neovim
+if [[ "$ultima_fecha" == "$(date +%Y-%m-%d)" ]]; then
+ nvim -c "norm Go" -c "norm zz" "$notas"
+else
+ nvim -c "norm Go" \
+ -c "norm Go" \
+ -c "norm Go## $(date +%Y-%m-%d)" \
+ -c "norm zz" \
+ "$notas"
+fi
Un proyecto texto-plano.xyz