diff --git a/README_es.md b/README_es.md new file mode 100644 index 000000000..40e3cced8 --- /dev/null +++ b/README_es.md @@ -0,0 +1,233 @@ +Pico +==== + +[![Licencia](https://picocms.github.io/badges/pico-license.svg)](https://github.com/picocms/Pico/blob/master/LICENSE.md) +[![Versión](https://picocms.github.io/badges/pico-version.svg)](https://github.com/picocms/Pico/releases/latest) +[![Estado de la compilación](https://api.travis-ci.org/picocms/Pico.svg?branch=master)](https://travis-ci.org/picocms/Pico) +[![Freenode IRC Webchat](https://picocms.github.io/badges/pico-chat.svg)](https://webchat.freenode.net/?channels=%23picocms) +[![Obtenga recompensas en Bountysource](https://www.bountysource.com/badge/team?team_id=198139&style=bounties_received)](https://www.bountysource.com/teams/picocms) + +Pico es un CMS de archivos sencillos, estúpidamente simple y brillantemente rápido. + +Visítenos en http://picocms.org/ y para mas información consulte http://picocms.org/about/. + +Captura de pantalla +---------- + +![Captura de pantalla de Pico](https://picocms.github.io/screenshots/pico-20.png) + +Instalación +------- + +Instalar Pico es extramadamente sencillo, ¡y listo para usar en segundos! Si tiene acceso a un intérprete de órdenes (shell) en su servidor (es decir, acceso SSH), le recomendamos que utilice [Composer][]. If not, use a pre-bundled release.Si no, utilice una versión empaquetada. Si desconoce lo que es un "acceso SSH", pues vaya también a la versión empaquetada. + +Pico requiere PHP 5.3.6+ + +### Quiero usar Composer + +Comenzando con Pico 2.0, recomendamos instalarlo utilizando Composer siempre que le sea posible. ¡Confíe en nosotros, no se arrepentirá cuando se trate de actualizar Pico! De todos modos, si no desea utilizar Composer, o simplemente no puede usarlo, no se desespere, la instalación de Pico con una versión empaquetada es todavía ¡más fácil que todo lo que conoce! + +###### Paso 1 + +Abra un intérprete de órdenes (shell) y navegue hasta el directorio `httpdocs` (p. ej.: `/var/www/html`) de su servidor. Descargue Composer y ejecútelo con la opción `create-project` para instalarlo en la carpeta deseada (p. ej.: `/var/www/html/pico`): + +```shell +$ curl -sSL https://getcomposer.org/installer | php +$ php composer.phar create-project picocms/pico-composer . +``` + +###### Paso 2 + +¿Cuál es el segundo paso? Pues, no hay un segundo paso. ¡Eso es todo! Abra su navegador web favorito y navegue a su nuevo, estúpidamente sencillo, asombroso y rápido ¡CMS de archivos planos! Los contenidos predeterminados de Pico le explicarán cómo crear sus propios contenidos. + +### Quiero usar una versión empaquetada + +¿Conoce esa sensación de que quiere instalar un nuevo sitio web, así que sube todos los archivos de su CMS favorito y al ejecutar el código de configuración, descubre que se le olvidó crear la base de datos SQL primero? Más tarde, dicho código de configuración le dice que los permisos de los archivos son incorrectos. Demonios, ¿qué significa esto? Pues olvídelo, ¡Pico es diferente! + +###### Paso 1 + +[Descargue la última versión de Pico][LatestRelease] y suba todos los archivos al directorio de instalación deseado dentro de `httpdocs` (p. ej.: `/var/www/html/pico`) de su servidor. + +###### Paso 2 + +Bien, aquí está la trampa: no hay trampa. ¡Eso es todo! Abra su navegador web favorito y navegue a su nuevo ¡CMS de archivos sencillos, estúpidamente simple y brillantemente rápido! Los contenidos predeterminados de Pico le explicarán cómo crear los suyos propios. + +### Soy un desarrollador + +Entonces, ¿eres una de esas personas increíbles que hacen todo esto posible? ¡Pues, los amamos chicos! Como desarrollador, le recomendamos que clone el [repositorio Git de Pico][PicoGit], así como los repositorios de el [tema predefinido de Pico][PicoThemeGit] y el [complemento `PicoDeprecated`][PicoDeprecatedGit]. Puede configurar su espacio de trabajo utilizando el [proyecto inicial de Composer para Pico][PicoComposerGit] e incluir todos los componentes de Pico usando paquetes locales. + +Usar el repositorio Git de Pico es diferente a los métodos de instalación explicados anteriormente. El mismo le ofrece la versión de desarrollo actual de Pico, ¡lo que probablemente sea *inestable* y *no esté listo para su uso en producción*! + +1. Abra un intérprete de órdenes (shell) y navegue hasta el directorio de instalación deseado de Pico dentro de `httpdocs` (p. ej.: `/var/www/html/pico`) de su servidor. Descargue y extraiga el proyecto inicial de Composer para Pico dentro de la carpeta `workspace`: + + ```shell + $ curl -sSL https://github.com/picocms/pico-composer/archive/master.tar.gz | tar xz + $ mv pico-composer-master workspace + ``` + +2. Clone todos los repositorios Git de todos los componentes de Pico (el núcleo (core), el tema predefinido y el complemento `PicoDeprecated`) dentro de la carpeta `components`: + + ```shell + $ mkdir components + $ git clone https://github.com/picocms/Pico.git components/pico + $ git clone https://github.com/picocms/pico-theme.git components/pico-theme + $ git clone https://github.com/picocms/pico-deprecated.git components/pico-deprecated + ``` + +3. Indique a Composer que utilice los repositorios locales como sustituto de los paquetes `picocms/pico` (el núcleo de Pico), `picocms/pico-theme` (el tema predefinido) y `picocms/pico-deprecated` el (complemento `PicoDeprecated`). Actualice el `composer.json` de su espacio de trabajo de desarrollo (es decir: `workspace/composer.json`): + + ```json + { + "repositories": [ + { + "type": "path", + "url": "../components/pico", + "options": { "symlink": true } + }, + { + "type": "path", + "url": "../components/pico-theme", + "options": { "symlink": true } + }, + { + "type": "path", + "url": "../components/pico-deprecated", + "options": { "symlink": true } + } + ], + "require": { + "picocms/pico": "dev-master", + "picocms/pico-theme": "dev-master", + "picocms/pico-deprecated": "dev-master", + "picocms/composer-installer": "^1.0" + } + } + ``` + +4. Descargue Composer e instálelo con la opción `install`: + + ```shell + $ curl -sSL https://getcomposer.org/installer | php + $ php composer.phar --working-dir=workspace install + ``` + +Ahora puede abrir su navegador web y navegar al espacio de trabajo de desarrollo de Pico. Todos los cambios que realice en los componentes de Pico se reflejarán automáticamente en este espacio de trabajo. + +Por cierto, puede también encontrar todos los componentes de Pico en [Packagist.org][Packagist]: [el núcleo de Pico][PicoPackagist], [el tema predefinido][PicoThemePackagist], el [complemento `PicoDeprecated`][PicoDeprecatedPackagist] y el [proyecto inicial de Composer para Pico][PicoComposerPackagist]. + +Actualizar +------- + +¿Recuerda cuando instaló Pico? Era ingeniosamente sencillo, ¿verdad? Pues, la actualización de Pico ¡no tiene ninguna diferencia! El proceso de actualización depende de si utilizó [Composer][] o una versión empaquetada para instalar Pico. Tenga en cuenta que ¡*siempre* debe hacer una copia de seguridad de su instalación antes de actualizar!. + +Pico sigue las [Versiones Semánticas 2.0][SemVer] y utiliza números de versión como `MAJOR`.`MINOR`.`PATCH`. Cuando actualizamos la versión `PATCH` (como de `2.0.0` a `2.0.1`), realizamos correcciones de errores compatibles con versiones anteriores. Si cambiamos la versión `MINOR` (como de `2.0` a `2.1`), hemos agregado una funcionalidad de manera compatible también con las versiones anteriores. La actualización de Pico es completamente sencilla en ambos casos. Solo necesita ir a la sección de actualización apropiada a continuación. + +Pero espere, olvidamos mencionarle lo que sucede cuando actualizamos la versión `MAJOR` (p. ej.: de `2.0` a `3.0`). En este caso realizamos cambios incompatibles en la API. Por lo que le proporcionaremos un tutorial de actualización apropiado, así que diríjase a la [página "Actualizar" de nuestro sitio][HelpUpgrade]. + +### He usado Composer para instalar Pico + +La actualización de Pico es extremadamente sencilla si ha utilizado Composer para instalarlo. Solo debe abrir un intérprete de órdenes (shell) y navegar hasta el directorio `httpdocs` (p. ej.: `/var/www/html/pico`) de su servidor. Ahora puede actualizar Pico con tan solo una orden: + +```shell +$ php composer.phar update +``` + +¡Eso es todo! Composer actualizará automáticamente Pico y todos los complementos y temas que haya instalado con él. Asegúrese de actualizar manualmente todos los demás complementos y temas que haya instalado manualmente. + +### He usado una versión empaquetada para instalar Pico + +Bueno, instalar Pico fue fácil, pero actualizar Pico seguro va a ser difícil, ¿no es así? Pues, me temo que tengo que decepcionarle... ¡Es tan sencillo como instalar el mismo Pico! + +Primero tendrá que eliminar el directorio `vendor` de su instalación (p. ej.: si ha instalado Pico en `/var/www/html/pico`, elimine la carpeta `/var/www/html/pico/vendor`). Luego [descargue la última versión de Pico][LatestRelease] y suba todos los archivos a su directorio de instalación existente. Se le preguntará si desea sobrescribir los archivos como `index.php`, `.htaccess`,... - simplemente presione "Sí". + +¡Eso es todo! Ahora que Pico está actualizado, debe actualizar todos los complementos y temas que haya instalado. + +#### Soy un desarrollador + +Como desarrollador, ya debería estar actualizado... Pero por el bien de la integridad, si quiere actualizar Pico, sencillamente abra el intérprete de órdenes y navegue hasta el espacio de trabajo (p. ej.: `/var/www/html/pico`). A continuación, recupere las últimas actualizaciones de los repositorios Git: [el núcleo de Pico][PicoGit], [el tema predefinido][PicoThemeGit] y el [complemento `PicoDeprecated`][PicoDeprecatedGit]. Deje que Composer actualice sus dependencias y ya estará listo: + +```shell +$ git -C components/pico pull +$ git -C components/pico-theme pull +$ git -C components/pico-deprecated pull +$ php composer.phar --working-dir=workspace update +``` + +Obtener ayuda +------------ + +#### Obtener ayuda como usuario + +Si desea comenzar a utilizar Pico, consulte la [documentación del usuario][HelpUserDocs] (¡la está leyendo en este momento!). Por favor, lea las [notas de actualización][HelpUpgrade] si desea actualizar de Pico 1.0 a Pico 2.0. Puede encontrar los [complementos][OfficialPlugins] y [temas][OfficialThemes] oficiales y compatibles aquí en nuestro sitio web. Además, podrá encontrar una variedad de complementos y temas en nuestra [Wiki][] en sus respectivas páginas de [complementos][WikiPlugins] y [temas][WikiThemes]. Si desea crear su propio complemento o tema, consulte la sección "Obtener ayuda como desarrollador a continuación. + +#### Obtener ayuda como desarrollador + +Si es un desarrollador, consulte la sección "Contribuciones" más adelante y nuestras [pautas para contribuir][ContributionGuidelines]. Para comenzar a crear un complemento o tema, lea la [documentación del desarrollador][HelpDevDocs] en nuestro sitio web. + +#### ¿Todavía necesita ayuda o alguna experiencia en algún problema con Pico? + +Cuando la documentación no pueda responder a su pregunta, puede obtener ayuda de nosotros desde [#picocms en Freenode IRC](https://webchat.freenode.net/?channels=%23picocms). Cada vez que tenga problemas con Pico, no dude en crear un nuevo [ticket][Issues] en GitHub. En cuanto a los problemas con los complementos o temas, consulte el sitio web del desarrollador que lo ha creado. + +**Antes de crear un nuevo ticket**, asegúrese de que el mismo no se haya informado antes utilizando el [motor de búsquedas de GitHubs][IssuesSearch]. Describa su problema lo más claro posible e incluya siempre la *versión de Pico* que esté utilizando. Siempre que esté usando *complementos*, incluya una lista de ellos también. Necesitamos información sobre el *comportamiento real y esperado*, los *pasos para reproducir* el problema y los pasos que ha seguido para resolverlo usted mismo (es decir, *su propia solución del problema*). + +Contribuir +------------ + +¿Quiere contribuir con Pico? ¡Realmente lo apreciamos! Puede ayudar a mejorar Pico [contribuyendo con código][PullRequests] o [reportando problemas][Issues], pero tome nota de nuestras [pautas para contribuir][ContributionGuidelines]. En general, puede contribuir en tres áreas diferentes: + +1. Complementos y temas: ¿Eres un desarrollador de complementos o un diseñador de temas? ¡Los amamos chicos! Puede encontrar toneladas de información sobre cómo desarrollar complementos y temas en http://picocms.org/development/. Si ha creado un complemento o tema, por favor, agréguelo a nuestra [Wiki][Wiki], o en la página de [complementos][WikiPlugins] o [temas][WikiThemes]. Puede también [enviarlo][Submit] a nuestro sitio web, ¡donde se mostrará en la página oficial de [complementos][OfficialPlugins] o [temas][OfficialThemes]!. + +2. Documentación: Siempre apreciamos a las personas que mejoran nuestra documentación. Puede mejorar los [documentos del usuario en línea][EditInlineDocs] o los mas extensos [documentos del usuario en nuestro sitio web][EditUserDocs]. Puede también mejorar la [documentación para los desarrolladores de plugins y temas][EditDevDocs]. Sencillamente haga una bifurcación del repositorio Git desde https://github.com/picocms/picocms.github.io, haga las modificaciones deseadas a los archivos Markdown y abra una [solicitud de fusión][PullRequestsWebsite]. + +3. El núcleo de Pico: la disciplina suprema es trabajar en el núcleo de Pico. Su contribución debería ayudar a *cada* usuario de Pico a tener una mejor experiencia con él. Si este es el caso, bifurque Pico desde https://github.com/picocms/Pico y abra una [solicitud de fusión][PullRequestsWebsite]. ¡Esperamos sus contribuciones! + +Al contribuir con Pico, usted acepta y está de acuerdo con el *Certificado de origen del desarrollador* para sus contribuciones presentes y futuras que se envíen a Pico. Por favor, consulte la sección ["Certificado de origen del desarrollador" en nuestro `CONTRIBUTING.md`][ContributionGuidelinesDCO]. + +¿No tiene tiempo para contribuir con Pico, pero todavía desea "invitar a un café" a aquellos que lo hacen? Pues, puede contribuir monetariamente con Pico utilizando [Bountysource][], un sitio web de financiación colectiva que se centra en problemas concretos y solicitudes de funcionalidades. Para obtener más información, consulte la sección "Recompensas y recaudadores de fondos" a continuación. + +Recompensas y recaudadores de fondos +------------------------ + +Pico utiliza [Bountysource][] para permitir las contribuciones monetarias al proyecto. Bountysource es un sitio web de financiación colectiva que se centra en problemas concretos y solicitudes de funcionalidades en proyectos de código abierto mediante el uso de micropagos. Los usuarios, o "patrocinadores", pueden prometer dinero por solucionar un problema específico, implementar nuevas funciones o desarrollar un nuevo complemento o tema. Los desarrolladores de software de código abierto, o "cazadores de recompensas", pueden entonces tomar y resolver estas tareas para ganar ese dinero. + +Obviamente, este no es un trabajo a tiempo completo, es más bien como "invitar a un café". Sin embargo, ayuda a acercar a los usuarios y los desarrolladores, y les muestra a éstos lo que los usuarios quieren y cuánto les importan ciertas cosas. No obstante, puede todavía donar dinero para el proyecto en sí, como una forma de decir "Gracias" y apoyar a Pico. + +Si desea animar a los desarrolladores a [resolver un problema en específico][Issues] o implementar una funcionalidad, sencillamente prometa una nueva recompensa o respalde una existente. + +Como desarrollador, puede obtener una recompensa sencillamente contribuyendo con Pico (por favor, consulte la sección "Contribuir" más arriba). ¡No tiene que ser un colaborador oficial de Pico! Pico es un proyecto de código abierto, cualquiera puede abrir [solicitudes de fusión][PullRequests] y reclamar sus recompensas. + +Los contribuyentes oficiales de Pico no harán ningún reclamo de recompensas en su propio nombre, Pico nunca tomará dinero alguno de Bountysource. Todos los dineros recolectados por Pico se usarán para promover nuevas recompesas o para apoyar a los projectos de los cuales depende. + +[Composer]: https://getcomposer.org/ +[LatestRelease]: https://github.com/picocms/Pico/releases/latest +[PicoGit]: https://github.com/picocms/Pico +[PicoThemeGit]: https://github.com/picocms/pico-theme +[PicoDeprecatedGit]: https://github.com/picocms/pico-deprecated +[PicoComposerGit]: https://github.com/picocms/pico-composer +[Packagist]: https://packagist.org/ +[PicoPackagist]: https://packagist.org/packages/picocms/pico +[PicoThemePackagist]: https://packagist.org/packages/picocms/pico-theme +[PicoDeprecatedPackagist]: https://packagist.org/packages/picocms/pico-deprecated +[PicoComposerPackagist]: https://packagist.org/packages/picocms/pico-composer +[SemVer]: http://semver.org +[HelpUpgrade]: http://picocms.org/in-depth/upgrade/ +[HelpUserDocs]: http://picocms.org/docs/ +[HelpDevDocs]: http://picocms.org/development/ +[Submit]: http://picocms.org/in-depth/submission_guidelines +[OfficialPlugins]: http://picocms.org/plugins/ +[OfficialThemes]: http://picocms.org/themes/ +[Wiki]: https://github.com/picocms/Pico/wiki +[WikiPlugins]: https://github.com/picocms/Pico/wiki/Pico-Plugins +[WikiThemes]: https://github.com/picocms/Pico/wiki/Pico-Themes +[Issues]: https://github.com/picocms/Pico/issues +[IssuesSearch]: https://github.com/picocms/Pico/search?type=Issues +[Freenode]: https://webchat.freenode.net/?channels=%23picocms +[FreenodeLogs]: http://picocms.org/irc-logs +[PullRequests]: https://github.com/picocms/Pico/pulls +[PullRequestsWebsite]: https://github.com/picocms/picocms.github.io/pulls +[ContributionGuidelines]: https://github.com/picocms/Pico/blob/master/CONTRIBUTING.md +[ContributionGuidelinesDCO]: https://github.com/picocms/Pico/blob/master/CONTRIBUTING.md#developer-certificate-of-origin +[EditInlineDocs]: https://github.com/picocms/Pico/edit/master/content-sample/index.md +[EditUserDocs]: https://github.com/picocms/picocms.github.io/tree/master/_docs +[EditDevDocs]: https://github.com/picocms/picocms.github.io/tree/master/_development +[Bountysource]: https://www.bountysource.com/teams/picocms \ No newline at end of file diff --git a/content-sample_es/404.md b/content-sample_es/404.md new file mode 100644 index 000000000..d174b87c4 --- /dev/null +++ b/content-sample_es/404.md @@ -0,0 +1,9 @@ +--- +Title: Error 404 +Robots: noindex,nofollow +--- + +Error 404 +========= + +Oops. Parece que esta página no existe. diff --git a/content-sample_es/_meta.md b/content-sample_es/_meta.md new file mode 100644 index 000000000..3937bd8bd --- /dev/null +++ b/content-sample_es/_meta.md @@ -0,0 +1,12 @@ +--- +social: + - title: Visítenos en GitHub + url: https://github.com/picocms/Pico + icon: octocat + - title: Únasenos en Freenode IRC Webchat + url: https://webchat.freenode.net/?channels=%23picocms + icon: chat + - title: Ayúdenos en la creación/colección de recompensas y comprometiéndose como recaudador de fondos + url: https://www.bountysource.com/teams/picocms + icon: dollar +--- diff --git a/content-sample_es/index.md b/content-sample_es/index.md new file mode 100644 index 000000000..1e13ddd14 --- /dev/null +++ b/content-sample_es/index.md @@ -0,0 +1,259 @@ +--- +Title: Bienvenido +Description: Pico es un CMS de archivos sencillos, estúpidamente simple y brillantemente rápido. +--- + +## Bienvenido a Pico + +Felicitaciones, ha instalado [Pico][] %version% satisfatoriamente. +%meta.description% + +## Creación de contenidos + +Pico es un CMS de archivos planos. Esto significa que no hay un panel de administración o una base de datos con la que tratar. Solo crea los archivos `.md` en la carpeta `content` y esos archivos se convertirán en sus páginas. Por ejemplo, al crear un archivo llamado `index.md`, el mismo será mostrado como su página de inicio principal. + +Cuando instale Pico, éste viene con algunos contenidos de muestra que se visualizarán hasta que agregue el suyo propio. De forma sencilla, añada algunos archivos `.md` a su carpeta `content` en el directorio raíz de Pico. No se requiere ninguna configuración, por lo que Pico usará automáticamente la carpeta `content` tan pronto como haya creado su propio `index.md`. ¡Sólo eche un vistazo a los [contenidos de muestra de Pico][SampleContents] para un ejemplo! + +Si usted crea una carpeta dentro del directorio de contenidos (por ejemplo: `content/sub`) y coloca un `index.md` dentro de ella, entonces podrá acceder a esa carpeta en la URL `%base_url%?sub`. Si además, desea tener otra página dentro de esa subcarpeta, pues sencillamente haga un archivo de texto con el nombre correspondiente y tendrá acceso a él (por ejemplo: se puede acceder a `content/sub/page.md` desde la URL `%base_url%?sub/page`). A continuación le mostramos algunos ejemplos de diferentes ubicaciones y sus correspondientes URLs: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ubicación físicaURL
content/index.md/
content/sub.md?sub (no es accesible, vea más abajo)
content/sub/index.md?sub (igual que el anterior)
content/sub/page.md?sub/page
content/una/muy/larga/url.md + ?una/muy/larga/url + (no existe) +
+ +Si no se puede encontrar el archivo, entonces se mostrará el contenido del archivo `content/404.md`. Puede añadir archivos `404.md` a cualquier directorio. Así que, por ejemplo, si desea usar una página de error especial para su blog, sencillamente puede crear `content/blog/404.md`. + +Pico separa estrictamente los contenidos de su sitio web (es decir, los archivos Markdown en su directorio `content`) y cómo deben visualizarse dichos contenidos (las plantillas Twig en su directorio `themes`). Sin embargo, no todos los archivos de su directorio `content` tienen que ser una página diferente. Por ejemplo, algunos temas (incluido el tema predeterminado de Pico) usan algunos archivos "ocultos" especiales para administrar los metadatos (como el `_meta.md` en los contenidos de muestra de Pico). Algunos otros temas usan un `_footer.md` para representar los contenidos del pie de página. El punto común sería `_`: todos los archivos y directorios con el prefijo `_` de su caprpeta `content` estarán ocultos. No se podrá acceder a estas páginas desde un navegador web, por lo que Pico mostrará en su lugar una página de error 404. + +Como una práctica habitual, le recomendamos que examine los contenidos y activos (como las imágenes, descargas, etc.). Incluso le denegamos el acceso al directorio predefinido `content`. Si desea usar algunos recursos (como por ejemplo una imagen) en uno de sus archivos de contenido, debe agregar una carpeta `assets` en el directorio raíz de Pico y ubicarlos allí. Luego podrá acceder a ellos desde su Markdown usando %base_url%/assets/, por ejemplo: !\[Título de la imagen\](%base_url%/assets/image.png) + +### El marcado del archivo de texto + +Los archivos de texto utilizan el marcado de [Markdown][] y [Markdown Extra][MarkdownExtra]. También pueden contener HTML regular. + +En la parte superior de estos archivos, puede colocar un bloque de comentarios y especificar los atributos de algunos metadatos de la página utilizando [YAML][] (el "encabezado YAML"). Por ejemplo: + + --- + Title: Bienvenido + Description: Esta descripción irá en la etiqueta "meta description" + Author: Joe Bloggs + Date: 2001-04-25 + Robots: noindex,nofollow + Template: index + --- + +Estos valores estarán contenidos en la variable `{{ meta }}` de los temas (vea más abajo). Los encabezados meta a veces tienen un significado especial, por ejemplo: Pico no solo pasa el encabezado meta `Date` (fecha), sino que lo evalúa para "entender" realmente cuando fue que se creó esta página. Esto entra en juego cuando se desea ordenar las páginas no solo alfabéticamente, sino también por fecha. Otro ejemplo es el encabezado meta `Template` (plantilla): el mismo controla qué plantilla Twig utilizará Pico para visualizar esta página (por ejemplo: si añade `Template:blog`, entonces Pico usará `blog.twig`). +​ +También hay otras variables que puedes usar en tus archivos de texto: + +* %site_title% - El título de tu sitio +* %base_url% - La URL de su sitio Pico; los enlaces internos se podrían especificar utilizando %base_url%?sub/page +* %theme_url% - La URL del tema utilizado actualmente +* %version% - Una cadena de texto indicando la versión actual de Pico (por ejemplo: `2.0.0`) +* %meta.*% - Permite acceder a cualquier variable meta de la página actual, por ejemplo, %meta.author% se reemplaza por `Joe Bloggs` + +### Hacer "blogging" + +Pico no es un software de blogs, pero hace que sea muy fácil usarlo como tal. Puede encontrar muchos complementos que implementan las características típicas de los blogs como la autenticación, etiquetado, paginación y algunos complementos sociales. Vea la sección de Complementos a continuación para más detalles. + +Si desea utilizar Pico como un software de blogs, probablemente desee hacer algo como lo siguiente: + +1. Coloque todos los artículos de su blog en una carpeta `blog` dentro de su directorio `content`. Todos estos artículos deben tener un encabezado meta `Date` (fecha). +2. Cree un archivo `blog.md` o `blog/index.md` en la carpeta `content`. Añada `Template: blog-index` al encabezado YAML de esta página. El mismo más adelante mostrará una lista de todos los artículos de su blog (vea el paso 3). +3. Añada una nueva plantilla Twig llamada `blog-post.twig` (la misma debe coincidir con el encabezado meta `Template` del paso 2) en su carpeta de temas. Es probable que esta plantilla no sea muy diferente de la plantilla predefinida `index.twig` (p. ej.: copie `index.twig`), lo que creará una lista de todos los artículos de su blog. Añada el siguiente fragmento Twig al archivo `blog-index.twig` cerca de `{{ content }}`: + ``` + {% for page in pages|sort_by("time")|reverse %} + {% if page.id starts with "blog/" and not page.hidden %} +
+

{{ page.title }}

+

{{ page.date_formatted }}

+

{{ page.description }}

+
+ {% endif %} + {% endfor %} + ``` + +## Personalización + +Pico es altamente personalizable de dos maneras diferentes: Por un lado, puede cambiar la apariencia de Pico utilizando temas y por otro lado, puede añadir nuevas funcionalidades mediante el uso de complementos. Hacer lo primero incluye modificar el HTML, CSS y JavaScript de Pico, mientras que el último consiste principalmente en programación PHP. + +¿Todo esto es griego para usted? Pues, no se preocupe, no tiene que dedicar tiempo a estas charlas técnicas; es muy fácil utilizar uno de los temas diseñados o complementos desarrollados y liberados al público. Por favor, consulte las siguientes secciones para más detalles. + +### Temas + +Puede crear temas para su instalación de Pico en la carpeta `themes`. Eche un vistazo al tema predefinido para ver un ejemplo. Pico utiliza [Twig][] para renderizar las plantillas. Puede seleccionar su tema configurando la opción `theme` en `config/config.yml` con el nombre de su carpeta de tema. + +Todos los temas deben incluir un archivo `index.twig` para definir la estructura HTML del mismo. A continuación se muestran las variables Twig que están disponibles para que puedan ser utilizadas en su tema. Tenga en cuenta que las rutas (p. ej.: `{{ base_dir }}`) y las URL (por ejemplo: `{{ base_url }}` no tienen una barra diagonal. + +* `{{ site_title }}` - Acceso directo al título del sitio (vea `config/config.yml`) +* `{{ config }}` - Contiene los valores que configuró en `config/config.yml` (por ejemplo: `{{ config.theme }}` sería `default` - predefinido) +* `{{ base_dir }}` - La ruta al directorio raíz de Pico +* `{{ base_url }}` - La URL de su sitio; utilice el filtro de `link` para especificar los enlaces internos (por ejemplo: `{{ "sub/page"|link }}`), esto garantiza que su enlace funcionará no importa si la URL de reescritura esté habilitada o no +* `{{ theme_dir }}` - La ruta al tema activo actualmente +* `{{ theme_url }}` - La URL del tema activo actualmente +* `{{ version }}` - Una cadena de texto de la versión actual de Pico (por ejemplo: `2.0.0`) +* `{{ meta }}` - Contiene los valores meta de la página actual + * `{{ meta.title }}` + * `{{ meta.description }}` + * `{{ meta.author }}` + * `{{ meta.date }}` + * `{{ meta.date_formatted }}` + * `{{ meta.time }}` + * `{{ meta.robots }}` + * ... +* `{{ content }}` - El contenido de la página actual después de que se haya procesado a través de Markdown +* `{{ pages }}` - Una colección de todas las páginas de contenido de su sitio + * `{{ page.id }}` - La ruta relativa al archivo de contenido (ID único) + * `{{ page.url }}` - La URL de la página + * `{{ page.title }}` - El título de la página (encabezado YAML) + * `{{ page.description }}` - La descripción de la página (encabezado YAML) + * `{{ page.author }}` - El autor de la página (encabezado YAML) + * `{{ page.time }}` - La [La marca de tiempo Unix][UnixTimestamp] derivada del encabezado de fecha `Date` + * `{{ page.date }}` - La fecha de la página (encabezado YAML) + * `{{ page.date_formatted }}` - La fecha formateada de la página según lo especificado por el parámetro `date_format` en `config/config.yml` + * `{{ page.raw_content }}` - El contenido sin procesar y aún no analizado de la página; utilice el filtro de Twig `content` para obtener el contenido analizado de una página al pasarle su ID único (por ejemplo: `{{ "sub/page"|content }}`) + * `{{ page.meta }}`- Los valores meta de la página (vea `{{ meta }}` más arriba) + * `{{ page.previous_page }}` - Los datos de la página anterior correspondiente + * `{{ page.next_page }}` - Los datos de la página siguiente correspondiente + * `{{ page.tree_node }}` - El nodo de la página en el árbol de páginas de Pico +* `{{ prev_page }}` - Los datos de la página anterior (relativos a `current_page`) +* `{{ current_page }}` - Los datos de la página actual (vea `{{ pages }}` más arriba) +* `{{ next_page }}` - Los datos de la página siguiente (relativos a `current_page`) + +Las páginas se pueden utilizar de la siguiente forma: + + + +Además de utilizar la lista `{{ pages }}`, también puede acceder a las mismas usando el árbol de páginas de Pico. El árbol de páginas le permite recorrer en iteración las páginas del sitio utilizando una estructura de árbol, por lo que puede, por ejemplo, iterar directamente con sólo las páginas hijas. También le permite construir menús recursivos y filtrar páginas más fácilmente. Para ello, consulte la [documentación del árbol de páginas de Pico][FeaturesPageTree] para más detalles. + +Para llamar a los recursos (*assets*) desde su tema, utilice `{{theme_url}}`. Por ejemplo, para incluir un archivo CSS `themes/my_theme/example.css`, añada `` a su `index.twig`. Esto funciona para cualquier archivo dentro de la carpeta de su tema, incluyendo imágenes y archivos JavaScript. + +Además de la extensa lista de filtros, funciones y etiquetas de Twigs, Pico también proporciona filtros adicionales y útiles para facilitar la tematización. + +* Pasar un ID único de la página al filtro `link` para devolver la URL de las páginas (por ejemplo: `{{ "sub/page"|link }}` obtiene `%base_url%?sub/page`). +* Obtener el contenido analizado de una página, para esto, pase el ID único al filtro `content` (por ejemplo: `{{ "sub/page"|content }}`). +* Pasar cualquier cadena de texto de Markdown usando el filtro `markdown` (por ejemplo: podría utilizar Markdown en la variable meta `description` y luego pasarla a su tema con `{{ meta.description|markdown }}`). Así mismo puede pasar los metadatos como parámetros para reemplazar los marcadores `%meta.*%` (por ejemplo: `{{ "Escrito *por %meta.author%*"|markdown(meta) }}` producirá "Escrito por *John Doe*"). +* Las matrices (arrays) se pueden ordenar por una de sus claves utilizando el filtro `sort_by` filter (por ejemplo: `{% for page in pages|sort_by([ 'meta', 'nav' ]) %}...{% endfor %}` hace una iteración a través de todas las páginas, ordenándolas por el encabezado meta `nav`; tenga en cuenta que la parte `[ 'meta', 'nav' ]` del ejemplo, le indica a Pico que ordene por `page.meta.nav`). Los elementos que no se pudieron ordenar se mueven a la parte inferior de la matriz; puede especificar `bottom` (mover los elementos a la parte inferior; valor predeterminado), `top` (mover los elementos a la parte superior), `keep` (mantener el orden sin cambios) o `remove` (eliminar los elementos) como el segundo parámetro para cambiar este comportamiento. +* Devolver todos los valores claves de la matriz dada utilizando el filtro `map` (por ejemplo: `{{ pages|map("title") }}` devuelve todos los títulos de las páginas). +* Use las funciones `url_param` and `form_param` de Twig para acceder a los parámetros HTTP GET (es decir, a una cadena de texto de consulta a una URL como `?some-variable=my-value`) y HTTP POST (los datos de un formulario enviado). Esto le permite implementar funcionalidades como la paginación, etiquetas y categorías, páginas dinámicas y mucho más, ¡todo con Twig puro! Sencillamente diríjase a nuestra [página de introducción a los parámetros de acceso HTTP][FeaturesHttpParams] para más detalles. + +Puede utilizar diferentes plantillas para diferentes archivos de contenido especificando en la mismas el encabezado meta `Template`. Para ello, añada por ejemplo `Template: blog` al encabezado YAML de un archivo de contenido y Pico usará la plantilla `blog.twig` de su carpeta de temas para mostrar la página. + +El tema predeterminado de Pico en realidad no está destinado a ser utilizado para un sitio web en producción, sino es más bien un punto de partida para crear su propio tema. Si dicho tema predefinido no es suficiente para usted, y no desea crear el suyo propio, entonces puede usar cualquiera de los temas fabulosos creados por desarrolladores y diseñadores de terceros en el pasado. Al igual que con los complementos, puede encontrar temas en nuestra [Wiki][WikiThemes] y en nuestro [sitio web][OfficialThemes]. + +### Complementos (plugins) + +#### Complementos para los usuarios + +Los complementos oficialmente probados se pueden encontrar en http://picocms.org/plugins/, ¡pero hay muchos complementos increíbles de terceros por ahí! Un buen punto de partida para descubrirlos es nuestra [Wiki][WikiPlugins]. + +Pico hace que sea muy fácil agregar nuevas funciones a su sitio web mediante el uso de complementos. Al igual que Pico, puede instalar complementos utilizando [Composer][] (por ejemplo: `composer require phrozenbyte/pico-file-prefixes`), o manualmente cargando el archivo del complemento (esto solo para complementos pequeños de un solo archivo, por ejemplo: `PicoFilePrefixes.php`) o al directorio de complementos `plugins` (por ejemplo: `PicoFilePrefixes`). Siempre le recomendamos que use Composer cada vez que sea posible, ya que le facilita la actualización de Pico y sus complementos. De todos modos, dependiendo del complemento que desee instalar, es posible que tenga que completar varios pasos (por ejemplo: las variables de configuración para que el complemento funcione). Por lo tanto, siempre debe revisar el archivo `README.md` del complemento para conocer los pasos necesarios. + +Los complementos que se escribieron para funcionar con Pico 1.0 y versiones posteriores se pueden habilitar y deshabilitar a través de `config/config.yml`. Si quiere por ejemplo, deshabilitar el complemento `PicoDeprecated` agregue la siguiente línea a su `config/config.yml`: `PicoDeprecated.enabled: false`. Para forzar la activación del complemento, reemplace `false` (falso) por `true` (verdadero). + +#### Complementos para los desarrolladores + +¿Es un desarrollador de complementos? ¡Pues, los amamos chicos! Puede encontrar toneladas de información sobre cómo desarrollar complementos en http://picocms.org/development/. Si ha desarrollado un complemento anteriormente y desea actualizarlo a Pico 2.0, consulte la [sección de actualización en la documentación][PluginUpgrade]. + +## Configuración + +Configurar Pico realmente es estúpidamente simple: solo cree un `config/config.yml` para anular la configuración predeterminada (y agregue sus propias configuraciones personalizadas). Eche un vistazo a `config/config.yml.template` para conocer los ajustes disponibles y sus valores predefinidos. Para sobreescribir una configuración, sencillamente copie la línea desde `config/config.yml.template` a `config/config.yml` y establezca su valor personalizado. + +Pero no nos detengamos allí. En lugar de tener un solo archivo de configuración, puede utilizar un número arbitrario de archivos de configuración. Sencillamente cree un archivo `.yml` en la carpeta `config` de Pico y listo. Esto le permitirá agregar algo de estructura a su configuración, como un archivo de ajustes separado solo para su tema (`config/my_theme.yml`). + +Tenga en cuenta que Pico carga estos archivos de una forma especial que deberá conocer. Primero, cargue el archivo de configuración principal `config/config.yml`, y luego cualquier otro archivo `*.yml` en el directorio `config` de Pico en orden alfabético. Este orden de los archivos es crucial, pues los valores de configuración que ya se han establecido, no pueden ser sobrescritos por un archivo subsiguiente. Por ejemplo, si configura `site_title: Pico` en `config/a.yml` y `site_title: ¡Mi grandioso sitio!` en `config/b.yml`, el título de su sitio será "Pico". + +Ya que que los archivos YAML son archivos sencillos de texto, los usuarios pueden leer su configuración de Pico navegando a `%base_url%/config/config.yml`. Esto no es un problema en primer lugar, pero podría serlo si se utilizan complementos que requieren que almacene datos de seguridad en la configuración (como las credenciales). Por lo tanto, *siempre* debe asegurarse de configurar su servidor web para denegar el acceso al directorio `config`. Para ello consulte la [sección "Reescritura de URLs"] a continuación. Al seguir dichas instrucciones, no solo habilitará la reescritura de URLs, sino que también denegará el acceso al directorio `config` de Pico. + +### Reescritura de URLs + +Las URLs predefinidas de Pico (por ejemplo: %base_url%/?sub/page) ya son muy amistosas al usuario. Además, Pico le ofrece una función de reescritura de URLs que las hace aún más amistosas de usar (por ejemplo: %base_url%/sub/page). A continuación, encontrará información básica sobre cómo configurar su servidor web para habilitar la reescritura de URLs. + +#### Apache + +Si está utilizando un servidor web Apache, la reescritura de URLs debe estar habilutada - pruébelo usted mismo, haga click en la [segunda URL](%base_url%/sub/page). Si dicha reescritura no funciona (recibe un mensaje de error de Apache `404 Not Found`), asegúrese de habilitar el [módulo `mod_rewrite`][ModRewrite] y de habilitar la opción de sobreescribir `.htaccess`. Debe ajustar la [directiva `AllowOverride`][AllowOverride] a `AllowOverride All` en el archivo de configuración de su host virtual o de forma global en `httpd.conf`/`apache.conf`. Asumiendo que la reescritura de URLs funcione y Pico aún no muestre dichas URLs, deberá forzar la reescritura de URLs configurando `rewrite_url: true` en `config/config.yml`. Si luego de ello, sigue obteniendo un `500 Internal Server Error` sin importar lo que haga, intente eliminar la directiva `Options` del archivo `.htaccess` de Pico (en la última línea). + +#### Nginx + +Si está utilizando Nginx, puede usar la siguiente configuración para habilitar la reescritura de URLs (líneas `5` a `8`) y denegar el acceso a los archivos internos de Pico (líneas `1` a `3`). Deberá ajustar la ruta (`/pico` en las líneas `1`, `2`, `5` y `7`) para que coincida con su directorio de instalación. Además, deberá habilitar `rewriting_url: true` en su `config/config.yml`. La configuración de Nginx debe proporcionar el *mínimo necesario* para utilizar Pico. Nginx es un tema muy extenso, por lo que si tiene algún problema, consulte la [documentación de configuración de Nginx][NginxConfig]. + +``` +location ~ ^/pico/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) { + try_files /pico/index.php$is_args$args =404; +} + +location /pico/ { + index index.php; + try_files $uri $uri/ /pico/index.php$is_args$args; +} +``` + +#### Lighttpd + +Pico se ejecuta sin problemas en Lighttpd. Puede usar la siguiente configuración para habilitar la reescritura de URLs (líneas `6` a `9`) y denegar el acceso a los archivos internos de Pico (líneas `1` a `4`). Asegúrese de ajustar la ruta (`/pico` en las líneas `2`, `3` y `7`) para que coincida con su directorio de instalación, e informe a Pico sobre la reescritura de URLs disponible configurando `rewrite_url: true` en su `config/config.yml`. La siguiente configuración debe proporcionar el *mínimo que necesita* para usar Pico. + +``` +url.rewrite-once = ( + "^/pico/(config|content|vendor|composer\.(json|lock|phar))(/|$)" => "/pico/index.php", + "^/pico/(.+/)?\.(?!well-known(/|$))" => "/pico/index.php" +) + +url.rewrite-if-not-file = ( + "^/pico(/|$)" => "/pico/index.php" +) +``` + +## Documentación + +Para obtener más ayuda eche un vistazo a la documentación de Pico en http://picocms.org/docs. + +[Pico]: http://picocms.org/ +[SampleContents]: https://github.com/picocms/Pico/tree/master/content-sample +[Markdown]: http://daringfireball.net/projects/markdown/syntax +[MarkdownExtra]: https://michelf.ca/projects/php-markdown/extra/ +[YAML]: https://en.wikipedia.org/wiki/YAML +[Twig]: http://twig.sensiolabs.org/documentation +[UnixTimestamp]: https://en.wikipedia.org/wiki/Unix_timestamp +[Composer]: https://getcomposer.org/ +[FeaturesHttpParams]: http://picocms.org/in-depth/features/http-params/ +[FeaturesPageTree]: http://picocms.org/in-depth/features/page-tree/ +[WikiThemes]: https://github.com/picocms/Pico/wiki/Pico-Themes +[WikiPlugins]: https://github.com/picocms/Pico/wiki/Pico-Plugins +[OfficialThemes]: http://picocms.org/themes/ +[PluginUpgrade]: http://picocms.org/development/#upgrade +[ModRewrite]: https://httpd.apache.org/docs/current/mod/mod_rewrite.html +[AllowOverride]: https://httpd.apache.org/docs/current/mod/core.html#allowoverride +[NginxConfig]: http://picocms.org/in-depth/nginx/ diff --git a/content-sample_es/sub/index.md b/content-sample_es/sub/index.md new file mode 100644 index 000000000..e3cc8c402 --- /dev/null +++ b/content-sample_es/sub/index.md @@ -0,0 +1,11 @@ +--- +Title: Ãndice de subpágina +--- + +## Este es el índice de la subpágina + +Este es el archivo `index.md` en la carpeta `sub`. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. \ No newline at end of file diff --git a/content-sample_es/sub/page.md b/content-sample_es/sub/page.md new file mode 100644 index 000000000..ffe603cc5 --- /dev/null +++ b/content-sample_es/sub/page.md @@ -0,0 +1,11 @@ +--- +Title: Subpágina +--- + +## Esta es una subpágina + +Este es el archivo `page.md` en la carpeta `sub`. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. \ No newline at end of file