254 lines
6.4 KiB
Markdown
254 lines
6.4 KiB
Markdown
# recall
|
|
|
|
Sistema de notas personal con captura rápida, búsqueda inteligente y conexiones entre notas.
|
|
|
|
## Uso
|
|
|
|
### Quick Add (Captura Rápida)
|
|
|
|
Crea notas al instante con el shortcut `Ctrl+N` o desde el botón de captura rápida en el header.
|
|
|
|
Sintaxis:
|
|
```
|
|
[tipo:][título] #tag1 #tag2
|
|
```
|
|
|
|
**Tipos disponibles:**
|
|
- `cmd:` - Comando
|
|
- `snip:` - Snippet de código
|
|
- `dec:` - Decisión
|
|
- `rec:` - Receta
|
|
- `proc:` - Procedimiento
|
|
- `inv:` - Inventario
|
|
|
|
**Ejemplos:**
|
|
```
|
|
cmd: git commit -m 'fix: bug' #git #version-control
|
|
snip: useState hook #react #hooks
|
|
dec: usar PostgreSQL #backend #database
|
|
rec: Pasta carbonara #cocina #italiana
|
|
```
|
|
|
|
### Tipos de Notas
|
|
|
|
| Tipo | Descripción | Campos |
|
|
|------|-------------|--------|
|
|
| `command` | Comandos CLI | Comando, Descripción, Ejemplo |
|
|
| `snippet` | Código reutilizable | Lenguaje, Código, Descripción |
|
|
| `decision` | Decisiones importantes | Contexto, Decisión, Alternativas, Consecuencias |
|
|
| `recipe` | Recetas | Ingredientes, Pasos, Tiempo |
|
|
| `procedure` | Procedimientos | Objetivo, Pasos, Requisitos |
|
|
| `inventory` | Inventario | Item, Cantidad, Ubicación |
|
|
| `note` | Nota libre | Contenido |
|
|
|
|
### Dashboard (Página Principal)
|
|
|
|
El dashboard muestra diferentes secciones según tu actividad:
|
|
|
|
- **Recientes** - Últimas notas modificadas
|
|
- **Más usadas** - Notas que consultas frecuentemente
|
|
- **Comandos recientes** - Notas de tipo comando
|
|
- **Snippets recientes** - Notas de código
|
|
- **Según tu actividad** - Notas relacionadas con tu historial de navegación
|
|
|
|
### Modo Trabajo
|
|
|
|
El botón de **Modo Trabajo** en el header (icono de monitor/ojo) es un toggle que indica cuando estás en modo de trabajo activo. Cuando está activado, el sistema:
|
|
- Puede influir en el ranking de búsqueda priorizando notas de trabajo
|
|
- Refleja visualmente que estás enfocado en una tarea
|
|
|
|
Se puede activar/desactivar desde el header o desde Configuración.
|
|
|
|
### Command Palette
|
|
|
|
Accede rápidamente a cualquier sección o acción con `Ctrl+K` (Windows) o `Cmd+K` (Mac):
|
|
|
|
- Navegación rápida a cualquier página
|
|
- Crear nueva nota
|
|
- Acceso directo a Configuración
|
|
|
|
### Links entre Notas
|
|
|
|
Crea links a otras notas usando `[[nombre-de-nota]]`:
|
|
|
|
```
|
|
Ver también: [[Configuración de Docker]]
|
|
```
|
|
|
|
Los **backlinks** (notas que referencian la nota actual) se muestran automáticamente en la vista de detalle.
|
|
|
|
### Conexiones de Notas
|
|
|
|
Cada nota muestra diferentes tipos de conexiones:
|
|
|
|
- **Notas relacionadas** - Basadas en tags compartidos, tipo y contenido similar
|
|
- **Backlinks** - Notas que linkean a esta nota
|
|
- **Outgoing links** - Links salientes de esta nota hacia otras
|
|
- **Co-usadas** - Notas que sueles ver juntas
|
|
|
|
### Búsqueda
|
|
|
|
- Búsqueda por título y contenido
|
|
- Búsqueda fuzzy (tolerante a errores)
|
|
- Filtros por tipo y tags
|
|
- Favoritos y notas pinned influyen en el ranking
|
|
|
|
### Captura Externa (Bookmarklet)
|
|
|
|
Desde Configuración > Capturar web, puedes crear un marcador que permite capturar contenido de cualquier página web:
|
|
|
|
1. Arrastra el botón "Capturar a Recall" a tu barra de marcadores
|
|
2. Cuando estés en una página web, haz clic en el marcador
|
|
3. Confirma y guarda directamente en tus notas
|
|
|
|
El marcador captura: título de la página, URL y texto seleccionado.
|
|
|
|
### Drafts (Borradores)
|
|
|
|
El sistema guarda automáticamente borradores de tus notas mientras escribes. Si cierras accidentalmente la página, al volver se te ofrecer recuperar el borrador.
|
|
|
|
### Historial de Versiones
|
|
|
|
Cada nota mantiene un historial de versiones. Accede desde el botón de historial en la vista de detalle para ver y restaurar versiones anteriores.
|
|
|
|
### Backups y Restauración
|
|
|
|
En Configuración > Backups:
|
|
|
|
- **Backup automático** - Se crean backups al cerrar o cambiar de nota (configurable)
|
|
- **Retención** - Los backups se mantienen por el período indicado (por defecto 30 días)
|
|
- **Backup manual** - Exporta en cualquier momento
|
|
|
|
### Exportar e Importar
|
|
|
|
Desde Configuración > Exportar:
|
|
|
|
- **JSON** - Backup completo (recomendado para restaurar)
|
|
- **Markdown** - Notas en formato MD (ideal para compartir)
|
|
- **HTML** - Notas en formato HTML (para visualización)
|
|
|
|
**Importar:**
|
|
- JSON - Restauración de backup
|
|
- Markdown - Importación de archivos MD
|
|
|
|
### Atajos de Teclado
|
|
|
|
| Atajo | Acción |
|
|
|-------|--------|
|
|
| `Ctrl+N` | Nueva nota rápida |
|
|
| `Ctrl+K` / `Cmd+K` | Command Palette |
|
|
| `n` | Nueva nota (desde dashboard) |
|
|
| `g h` | Ir al Dashboard |
|
|
| `g n` | Ir a Notas |
|
|
| `/` | Enfocar búsqueda |
|
|
| `?` | Mostrar atajos de teclado |
|
|
|
|
## Development
|
|
|
|
```bash
|
|
npm install
|
|
npx prisma db push
|
|
npm run dev
|
|
```
|
|
|
|
## Docker
|
|
|
|
### Requisitos
|
|
- Docker
|
|
- Docker Compose
|
|
|
|
### Instalación con Docker
|
|
|
|
1. **Crear la carpeta para la base de datos:**
|
|
```bash
|
|
mkdir -p data
|
|
```
|
|
|
|
2. **Iniciar la aplicación:**
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
La aplicación estará disponible en `http://localhost:3000`
|
|
|
|
### Datos
|
|
|
|
- La base de datos SQLite se guarda en `./data/dev.db`
|
|
- Los datos persisten entre reinicios
|
|
- Para hacer backup, copia la carpeta `data/`
|
|
|
|
### Comandos útiles
|
|
|
|
```bash
|
|
# Ver logs
|
|
docker-compose logs -f
|
|
|
|
# Reiniciar
|
|
docker-compose restart
|
|
|
|
# Detener
|
|
docker-compose down
|
|
|
|
# Reconstruir (después de cambios)
|
|
docker-compose up -d --build
|
|
```
|
|
|
|
## API
|
|
|
|
### Quick Add
|
|
```bash
|
|
POST /api/notes/quick
|
|
Content-Type: text/plain
|
|
|
|
cmd: mi comando #tag
|
|
```
|
|
|
|
### Buscar
|
|
```bash
|
|
GET /api/search?q=docker&type=command
|
|
```
|
|
|
|
### Tags
|
|
```bash
|
|
GET /api/tags # Listar todos
|
|
GET /api/tags?q=python # Filtrar
|
|
GET /api/tags/suggest?title=...&content=... # Sugerencias
|
|
```
|
|
|
|
## Estructura del Proyecto
|
|
|
|
```
|
|
src/
|
|
├── app/
|
|
│ ├── page.tsx # Dashboard
|
|
│ ├── notes/
|
|
│ │ ├── page.tsx # Lista de notas
|
|
│ │ └── [id]/page.tsx # Detalle de nota
|
|
│ ├── new/page.tsx # Crear nota
|
|
│ ├── edit/[id]/page.tsx # Editar nota
|
|
│ ├── settings/page.tsx # Configuración
|
|
│ ├── capture/page.tsx # Captura externa
|
|
│ └── api/ # Rutas API
|
|
├── components/
|
|
│ ├── dashboard.tsx
|
|
│ ├── note-list.tsx
|
|
│ ├── command-palette.tsx
|
|
│ ├── work-mode-toggle.tsx
|
|
│ ├── quick-add.tsx
|
|
│ └── ...
|
|
├── lib/
|
|
│ ├── work-mode.ts
|
|
│ ├── search.ts
|
|
│ ├── related.ts
|
|
│ ├── backlinks.ts
|
|
│ ├── usage.ts
|
|
│ ├── drafts.ts
|
|
│ ├── backup.ts
|
|
│ └── ...
|
|
└── types/
|
|
└── note.ts
|
|
```
|
|
|
|
|
|
|
|
nueva prueba |