caption: WikiFolders created: 20130825214200000 es-title: WikiFolders modified: 20160506092009086 tags: [[TiddlyWiki on Node.js]] title: TiddlyWikiFolders type: text/vnd.tiddlywiki [[Node.js|TiddlyWiki on Node.js]] soporta, además de wikis de archivo único, wikis estructurados en carpetas que llamamos <<.def ~WikiFolders>>. Dichas carpetas contienen, lógicamente, tiddlers y las distinguimos según el tipo de tiddlers que contengan. ! ~WikiFolders y archivos Los ~WikiFolders contienen los siguientes archivos y carpetas: * <<.tid tiddlywiki.info>> - Archivo .JSON que contiene metadatos necesarios para construir el wiki * <<.place \tiddlers>> - Carpeta que contiene los tiddlers que forman parte del contenido del wiki * <<.place \plugins>> - Carpeta que contiene los diferentes [[plugins folders|PluginMechanism]] que se incluyen en el wiki Sólo el archivo <<.em tiddlywiki.info>> es obligatoriamente necesario. Todas las demás carpetas son opcionales. !! Contenido del archivo <<.em tiddlywiki.info>> Este archivo contiene un objeto JSON que consta de los siguientes campos: * <<.field plugins>> - nombres de los plugins que se incluyen en el wiki * <<.field themes>> - nombres de los temas que se incluyen en el wiki * <<.field languages>> - nombres de los idiomas que se incluyen en el wiki * <<.field includeWikis>> - referencias a carpetas externas que se incluyen en el wiki * <<.field build>> - hashmap de targets de compilación, definidos como símbolos de comandos. (ver BuildCommand para más información) * <<.field config>> - hashmap opcional de opciones de configuración !!! <<.def includeWikis>> Los valores de <<.field includeWikis>> pueden ser bien una cadena con la ruta relativa al wiki, o un objeto con los siguientes campos: * <<.field path>> - ruta relativa al ~WikiFolder * <<.field read-only>> - con el valor <<.em true>>, previene la modificación de los tiddlers del wiki que se incluye. Toda modificación que se haga en estos se guardará en el directorio definido como <<.em default-tiddler-location>>, que se describe más abajo !!! <<.def build>> Los tiddlers objeto de este comando cuyo origen no se defina en el archivo <<.em tiddlywiki.info>> se combinarán con los del wiki actual. !!! <<.def config>> Las opciones de configuración incluyen: * <<.em default-tiddler-location>> - ruta relativa a la localización por defecto de la carpeta en que se almacenan los tiddlers nuevos. * <<.em retain-original-tiddler-path>> - si se define como <<.em true>>, el servidor generará el tiddler <<.tid ~$:/config/OriginalTiddlerPaths>>, que contiene la ruta original de cada tiddler contenido en el wiki. !!! Ejemplo: ``` { "plugins": [ "tiddlywiki/tiddlyweb", "tiddlywiki/filesystem" ], "includeWikis": [ "../tw5.com" ], "build": { "index": [ "--rendertiddler","$:/core/save/all","index.html","text/plain"], "favicon": [ "--savetiddler","$:/favicon.ico","favicon.ico", "--savetiddler","$:/green_favicon.ico","static/favicon.ico"] }, "config": { "retain-original-tiddler-path": true } } ``` !! Contenido de la carpeta <<.em tiddlers>> Toddos los archivos <<.em .tid>> de la carpeta <<.em tiddlers>> se leen cuando se genera el wiki. Las subcarpetas se escanean recursivamente en busca de cualquier otro archivo <<.em .tid>> durante el proceso. Los tiddlers nuevos se guardan en la raíz de la carpeta <<.em tiddlers>>, salvo que se [[configure|Customizing Tiddler File Naming]] de otro modo. Las subcarpetas de <<.em tiddlers>> también pueden contener un archivo JSON que puentee el proceso por defecto para esa carpeta. En este ejemplo se ilustra el formato de este tipo de archivos: ``` { "tiddlers": [ { "file": "d3.min.js", "fields": { "type": "application/javascript", "title": "$:/plugins/tiddlywiki/d3/d3.js", "module-type": "library" }, "prefix": "var d3;if($tw.browser){\n", "suffix": "}\nexports.d3 = d3;\n" }, { "file": "cloud/d3.layout.cloud.js", "fields": { "type": "application/javascript", "title": "$:/plugins/tiddlywiki/d3/d3.layout.cloud.js", "module-type": "library" } }, { "file": "local/mytiddler.tid", "isTiddlerFile": true, "fields": { "title": "A different title" } } ], "directories": [ "../../mytiddlers/store" ] } ``` Un elemento JSON es un objeto con la propiedad <<.em tiddlers>>, que a su vez contiene una matriz de información sobre cada tiddler que se carga en el wiki. Esta información es: * Ruta, absoluta o relativa, al archivo que se incluye, bien como ** `file`: nombre del archivo que contiene el tiddler ** `isTiddlerFile`: si su valor es `true`, se extraen los tiddlers de su contenido. En caso contrario, se asigna el contenido en bruto del archivo al campo <<.field text>>, sin interpretación alguna. * `fields`: objet que contiene campos que puentean los proporcionados por el archivo * `prefix` & `suffix`: (opcional) especifica cadenas usadas como prefijo o sufijo del del contenido de un tiddler La propiedad <<.em directories>> permite definir una lista de directorios de los que se cargarán recursivamente los tiddlers