Skip to content

allnulled/lsw-two

Repository files navigation

Lsw-two

Complemento personal de software.

Índice

Links del proyecto

Aplicaciones

Las aplicaciones que vienen por defecto son:

  • 🕓 Ahora - para gestionar las actividades del día
    • ⬅️🕓➡️ En todo el día
    • ⬅️🕓 Antes
    • 🕓➡️ Después
  • 📦 Base de datos - para manejar los fatos básicos del sistema
    • 📦 Acción
    • 📦 Concepto
    • 📦 Nota
    • 📦 Articulo
    • 📦 ... (otros)
  • 📂 Sistema de ficheros
    • ℹ️ Un sistema de ficheros totalmente virtual basado en IndexedDB
    • ℹ️ Soporta ficheros:
      • 🧾 *.js - js
      • 🧾 *.js - js
      • 🧾 *.css - css
      • 🧾 *.html - html
      • 🧾 *.pegjs - pegjs
      • 🧾 *.mmd - mermaid
      • 🧾 *.md - markdown
        • con soporte para latex
          • En misma línea con $ latex $
          • En múltiples líneas con $$ y $$
    • 📄 /kernel/agenda/randomizables.env
      • ℹ️ Lista los elementos para inflar randomly el día
    • 📄 /kernel/apps/{nombre de app}/load.js
      • ℹ️ Apps personalizadas
    • 📄 /kernel/bin/{nombre de binario}.js
      • ℹ️ Binarios rápidos personalizados
      • ℹ️ Son igual que las apps pero se acceden desde la app «💣 Binarios» solamente
    • 📄 /kernel/components/{nombre de componente}/{nombre de componente}.{html, js, css}
      • ℹ️ Componentes Vue2 que quieres cargar automáticamente
    • 📄 /kernel/goals/goals.week
  • 💣 Binarios
    • ℹ️ Como apps pero sin ensuciar el escritorio
  • 📆 Agenda
    • 📆 Calendario de días
    • 📊 Reportes - para visualizar reportes personalizados
    • 🔮 Conductometría - para propagaciones conceptuales (en desarrollo y experimental)
    • 🏁 Objetivos y hábitos - para visualizar los estados de ciertas actividades
  • 💬 Notas
    • ℹ️ Para consultar tus notas rápidas
    • ℹ️ Puedes priorizar urgentes
  • 💬➕ Nueva nota
  • 📖 Diario
    • ℹ️ Para un trackeo de texto a diario
    • ℹ️ Puedes ir de un día a otro
  • 🔬 Enciclopedia
    • ℹ️ Puedes hacer libros, categorías y artículos
  • 🔬➕ Nuevo artículo
    • ℹ️ Para crear artículos rápidamente
    • ℹ️ Soporta vue, markdown y latex
  • 🪲 Inspector de JS
    • ℹ️ Para inspeccionar cómodamente JS en vivo
  • 💻 Consola de JS
  • 🐱 Emojis
    • ℹ️ Para recuperar emojis rápidamente
  • 📹 Trackeables
    • ℹ️ Captura frecuencia de eventos de la realidad
    • ℹ️ Monitoriza y persiste tu circunstancia
  • ✅ Tests de aplicación
    • ℹ️ Tiene los tests principales de la aplicación
    • ⚠️ Orientada a desarrollo
    • ℹ️ En activo, permite comprobar la salud de la aplicación
  • √ Ecuaciones
    • ℹ️ Permite resolver ecuaciones complejas
    • ℹ️ Se basa en math.js
  • ⚛️ Moléculas
  • 🔠 Sintaxis
    • ℹ️ Permite crear sintaxis para JavaScript rápidamente
    • ℹ️ Se basa en pegjs/peggyjs
  • 🎨 Pinturas
    • ℹ️ Permite crear lienzos rápidamente
    • ℹ️ Se basa en pixi
  • 📊 Constructor de gráficas
    • ℹ️ Permite crear gráficas complejas rápidamente
    • ℹ️ Se basa en observable plot
  • 🔧 Configuraciones
    • ℹ️ Permite acceder a ciertas configuraciones de la aplicación
  • ✨ Nueva feature
    • ⚠️ Orientada a desarrollo
    • ℹ️ En activo siempre

Trucos

La aplicación es bastante intuitiva considero, así que paso a explicar directamente los "trucos" o aspectos más particulares y específicos.

Ficheros útiles

En el 📂 Sistema de ficheros virtual de la app puedes configurar:

Seguramente hay más.

Flujos ocultos o no intuitivos

  • El botón con 🎲↗️:
    • al clicar, en silencio se importan los randomizables que falten, como Concepto.
    • es el bloque Load_secretly_random_actions_as_concepts en el código en lsw-agenda-acciones-viewer.js.
  • El boton de Resetear en Configuraciones » Base de datos:
    • borrará la base de datos si no hay conexiones extra:
    • pero puede que tengas que refrescar (o salir y entrar de la app) para que se pueda seguir usando la base de datos.
      • son cosas de IndexedDB y yo no puedo hacer nada con esto.

Flujo funcional básico

  • Se trataría de hacer el script de weeklang para que las barras se te vayan poniendo para tus cosas.
    • en el calendario, este botón: 🏁↗️
    • está escondido, porque en principio te pones la rutina semanal y él ya te la va recordando.
  • Y tienes luego para ir añadiendo información, organizándote una base de datos de artículos y libros, de momento.
  • Y tienes el apartado de binarios también, para lanzar scripts rápidamente.

Extras de interés

Variables del editor en entorno normal

A parte de toda la API normal, con todas sus globales y demás, destacar:

// Las básicas:
Vue.prototype.$lsw.toasts.collapse({});
this.$lsw;
lsw.toasts.send({
   title: "whatever",
   text: "whatever else",
});
Vue.prototype.$lsw.toasts.debug({});
await LswAndroid.eval(es6code);
await LswAndroid.evalFile(es6file);
// Si necesitas más:
await Vue.prototype.$lsw.dialogs.open({
   title: "título",
   template: `<pre class="codeblock">{{ typeof debuggable === 'string' ? debuggable : JSON.stringify(debuggable, null, 2) }}</pre>`,
   factory: {
      data: {
         debuggable: {}
      }
   }
});
LswDebugger.global.debug("aquí puede ir cualquier cosa")
LswDebugger.global.debug("y será accesible")
LswDebugger.global.debug("aunque acumules muchos logs")
LswDebugger.global.debug("porque se autoexpiran")

Variables del editor en entorno android

En la versión de la aplicación móvil (solo Android) se carga:

Trucos de la app móvil en Android

Para invocar JavaScript en entorno android/rhino tienes los ganchos finales:

LswAndroid.evalFile("/kernel/android/myscript.js");
LswAndroid.eval(function() {
   // @android-rhino-js
});
cordova
cordova.plugins.Rhinobridge.evaluate(es5code);
applicationContext
Packages
System
Math
$RhinobridgePluginClass
$rhinobridgePlugin
$scope
$rhino
$webview /*
$webview.loadUrl("javascript:" + es5code);
*/
abg /*
abg instanceof class AndroidBridge {
   public Context getContext()
   public Object getSystemService(String name)
   public Class<?> getClass(String name) throws ClassNotFoundException
   public Class<?> forName(String name) throws ClassNotFoundException
   public void toast(String text, int duration)
   public String getPackageName()
   public Object getApplicationInfo()
   public Object getResources()
   public Object getAssets()
   public Object getContentResolver()
   public Object getApplicationContext()
}
*/
print('not seen anywhere')
evaluateByBrowser("alert('hello')");

About

Lite Software for the Web. Version 2.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages