Ir al contenido

Referencia de la CLI de publicación

La herramienta de línea de comandos se llama ankiprotect-publish y tiene dos formas de uso:

  • Publicar: ankiprotect-publish <archivo.apkg> --deck-id … --deck-version … --title … --author … genera en tu ordenador el paquete protegido, su manifiesto y su clave de contenido.
  • Subir: ankiprotect-publish upload <archivo.apkgm> --server … --company … sube un paquete ya generado a tu empresa. El token de autor sale siempre de la variable de entorno ANKIPROTECT_AUTHOR_TOKEN, nunca de un flag.

Esta página se genera a partir de la propia herramienta, así que no se queda atrás cuando cambia. Para un recorrido con ejemplos, mira Publicar y actualizar con la CLI.

Flags

FlagComandoObligatorioPor defectoQué hace
--helppublicarNo—Muestra la ayuda y sale con código 0, aunque falten el resto de argumentos.
--deck-id <id>publicarSí—Identificador estable del deck. Para publicar una actualización, repite el mismo y cambia --deck-version.
--deck-version <version>publicarSí—Versión que publicas, por ejemplo 1.0.0. Una versión subida no se puede modificar.
--title <título>publicarSí—Título del deck tal como lo verán tus alumnos.
--author <autor>publicarSí—Nombre del autor o de la academia que figura en el paquete.
--out <directorio>publicarNo.Directorio donde se escriben los tres ficheros de la publicación (paquete, manifiesto y clave).
--forcepublicarNo—Sobrescribe los ficheros de salida si ya existen. Sin él, la publicación se detiene.
--reject-unsupportedpublicarNo—Rechaza el deck, con código 1 y sin escribir ficheros, si algún tipo de nota construye el reverso con JavaScript.
--strictpublicar y uploadNo—Endurece los avisos: al publicar, los avisos que bloquean pasan a ser un error con código 1, y con «upload» no se sube la versión si el informe trae avisos.
--server <url>uploadSí—Dirección de la plataforma a la que subes el paquete, por ejemplo https://plataforma.example.com.
--company <slug>uploadSí—Identificador de la empresa (el que ves en el panel) a la que subes el deck.
--dry-runuploadNo—Calcula el informe de cambios y avisos sin crear la versión. Úsalo antes de subir de verdad.

Variables de entorno

VariableQué hace
ANKIPROTECT_AUTHOR_TOKENToken de autor, solo para «upload». Nunca es un flag, para que no quede en el historial de tu terminal.
ANKIPROTECT_APKG_MAX_UNCOMPRESSED_BYTESTecho opcional de bytes descomprimidos del .apkg en total.
ANKIPROTECT_APKG_MAX_ENTRY_BYTESTecho opcional de bytes descomprimidos de una entrada del .apkg.
ANKIPROTECT_APKG_MAX_ENTRIESTecho opcional de entradas del .apkg.

Códigos de salida

CódigoSignificado
0Todo ha ido bien (o has pedido --help).
1No se ha podido completar: el deck no se puede publicar, un fichero ya existe, el servidor ha rechazado la subida o --strict ha encontrado avisos.
2Uso incorrecto: falta un argumento, sobra uno, un valor no es válido o falta ANKIPROTECT_AUTHOR_TOKEN en «upload».

Salida de --help

Este es el texto que imprime la herramienta; esta página lo genera a partir de ella.

Uso:
  ankiprotect-publish <archivo.apkg> --deck-id <id> --deck-version <version> --title <título> --author <autor> [--out <directorio>] [--strict] [--force] [--reject-unsupported]
  ankiprotect-publish upload <archivo.apkgm> --server <url> --company <slug> [--dry-run] [--strict]

Publicar una actualización de un deck:
  Repite el mismo --deck-id con otro --deck-version y sube el resultado con «upload».
  Los alumnos conservan su progreso en las notas que mantienen su identificador.
  «upload» muestra los cambios respecto a la versión anterior (notas, tarjetas y medios)
  y los avisos que ponen en riesgo el progreso de los alumnos.

Antes de subir:
  «upload --dry-run» calcula el mismo informe sin crear la versión. Las versiones no se
  pueden modificar ni borrar. Tus alumnos las reciben en cuanto se suben, salvo que tu
  cuenta de autor siga pendiente de aprobación: entonces la versión queda como borrador y
  no la reciben hasta que se apruebe.
  Con --strict, «upload» no sube la versión si hay avisos.

Rentabilidad (opcional): etiqueta las notas en Anki con rentabilidad::alta, rentabilidad::media o rentabilidad::baja. Si una nota lleva varias, vale la más alta. Lo que no se reconoce no cuenta y se avisa. Valores válidos: alta, media y baja, sin distinguir mayúsculas.

Contenido que la plataforma no ejecuta: scripts (JavaScript), `<style>`, `<iframe>`, `<object>`, `<embed>`, `<form>` y el atributo `style`; tampoco descarga imágenes de otros sitios web. Por defecto solo avisa, con las cifras. Con --reject-unsupported rechaza el deck (código de salida 1, sin escribir ficheros) si algún tipo de nota construye el reverso con JavaScript, porque en esas notas no se vería la respuesta.

Variables de entorno:
  ANKIPROTECT_AUTHOR_TOKEN  token de autor (solo para «upload»)

Techos de recursos del .apkg (opcionales; un valor inválido sale con código 2).
Súbelos solo si tu paquete legítimo supera un techo:
  ANKIPROTECT_APKG_MAX_UNCOMPRESSED_BYTES  bytes descomprimidos en total (1048576..4294967296; por defecto 1073741824)
  ANKIPROTECT_APKG_MAX_ENTRY_BYTES         bytes descomprimidos de una entrada (1048576..2147483648; por defecto 536870912)
  ANKIPROTECT_APKG_MAX_ENTRIES             entradas del paquete (1..1000000; por defecto 200000)