From 5c355a11717b9ffaf371e28d61cab760a96095a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20P=C3=A9rez?= Date: Mon, 16 May 2022 11:36:12 +0200 Subject: [PATCH] Update READMEs --- README.de.md | 151 ++++++++++++++------------------- README.es.md | 185 ++++++++++++++++++---------------------- README.fr.md | 183 +++++++++++++++++----------------------- README.ja.md | 188 +++++++++++++++++++---------------------- README.ko.md | 184 ++++++++++++++++++---------------------- README.malayalam.md | 186 ++++++++++++++++++---------------------- README.md | 186 ++++++++++++++++++---------------------- README.pl.md | 189 ++++++++++++++++++----------------------- README.pt-br.md | 200 +++++++++++++++++++++----------------------- README.ru.md | 24 +----- README.zh.md | 190 +++++++++++++++++++---------------------- 11 files changed, 818 insertions(+), 1048 deletions(-) diff --git a/README.de.md b/README.de.md index 7ca59ec2..3d7515f3 100644 --- a/README.de.md +++ b/README.de.md @@ -40,15 +40,15 @@ diesen Server verwenden. ## Inhalt - [Sinatra](#sinatra) - * [Inhalt](#inhalt) - * [Routen](#routen) - + [Bedingungen](#bedingungen) - + [Rückgabewerte](#rückgabewerte) - + [Eigene Routen-Muster](#eigene-routen-muster) - * [Statische Dateien](#statische-dateien) - * [Views/Templates](#views-templates) - + [Direkte Templates](#direkte-templates) - + [Verfügbare Templatesprachen](#verfügbare-templatesprachen) + - [Inhalt](#inhalt) + - [Routen](#routen) + - [Bedingungen](#bedingungen) + - [Rückgabewerte](#rückgabewerte) + - [Eigene Routen-Muster](#eigene-routen-muster) + - [Statische Dateien](#statische-dateien) + - [Views/Templates](#viewstemplates) + - [Direkte Templates](#direkte-templates) + - [Verfügbare Templatesprachen](#verfügbare-templatesprachen) - [Haml Templates](#haml-templates) - [Erb Templates](#erb-templates) - [Builder Templates](#builder-templates) @@ -65,63 +65,60 @@ diesen Server verwenden. - [MediaWiki Templates](#mediawiki-templates) - [CoffeeScript Templates](#coffeescript-templates) - [Yajl Templates](#yajl-templates) - - [WLang Templates](#wlang-templates) - + [Auf Variablen in Templates zugreifen](#auf-variablen-in-templates-zugreifen) - + [Templates mit `yield` und verschachtelte Layouts](#templates-mit--yield--und-verschachtelte-layouts) - + [Inline-Templates](#inline-templates) - + [Benannte Templates](#benannte-templates) - + [Dateiendungen zuordnen](#dateiendungen-zuordnen) - + [Eine eigene Template-Engine hinzufügen](#eine-eigene-template-engine-hinzuf-gen) - + [Eigene Methoden zum Aufsuchen von Templates verwenden](#eigene-methoden-zum-aufsuchen-von-templates-verwenden) - * [Filter](#filter) - * [Helfer](#helfer) - + [Sessions verwenden](#sessions-verwenden) + - [Auf Variablen in Templates zugreifen](#auf-variablen-in-templates-zugreifen) + - [Templates mit `yield` und verschachtelte Layouts](#templates-mit-yield-und-verschachtelte-layouts) + - [Inline-Templates](#inline-templates) + - [Benannte Templates](#benannte-templates) + - [Dateiendungen zuordnen](#dateiendungen-zuordnen) + - [Eine eigene Template-Engine hinzufügen](#eine-eigene-template-engine-hinzufügen) + - [Eigene Methoden zum Aufsuchen von Templates verwenden](#eigene-methoden-zum-aufsuchen-von-templates-verwenden) + - [Filter](#filter) + - [Helfer](#helfer) + - [Sessions verwenden](#sessions-verwenden) - [Sitzungseinstellungen](#sitzungseinstellungen) - - [Eigene Sitzungs-Middleware auswählen](#eigene-sitzungs-middleware-ausw-hlen) - + [Anhalten](#anhalten) - + [Weiterspringen](#weiterspringen) - + [Eine andere Route ansteuern](#eine-andere-route-ansteuern) - + [Body, Status-Code und Header setzen](#body--status-code-und-header-setzen) - + [Response-Streams](#response-streams) - + [Logger](#logger) - + [Mime-Types](#mime-types) - + [URLs generieren](#urls-generieren) - + [Browser-Umleitung](#browser-umleitung) - + [Cache einsetzen](#cache-einsetzen) - + [Dateien versenden](#dateien-versenden) - + [Das Request-Objekt](#das-request-objekt) - + [Anhänge](#anhänge) - + [Umgang mit Datum und Zeit](#umgang-mit-datum-und-zeit) - + [Nachschlagen von Template-Dateien](#nachschlagen-von-template-dateien) - + [Konfiguration](#konfiguration) + - [Eigene Sitzungs-Middleware auswählen](#eigene-sitzungs-middleware-auswählen) + - [Anhalten](#anhalten) + - [Weiterspringen](#weiterspringen) + - [Eine andere Route ansteuern](#eine-andere-route-ansteuern) + - [Body, Status-Code und Header setzen](#body-status-code-und-header-setzen) + - [Response-Streams](#response-streams) + - [Logger](#logger) + - [Mime-Types](#mime-types) + - [URLs generieren](#urls-generieren) + - [Browser-Umleitung](#browser-umleitung) + - [Cache einsetzen](#cache-einsetzen) + - [Dateien versenden](#dateien-versenden) + - [Das Request-Objekt](#das-request-objekt) + - [Anhänge](#anhänge) + - [Umgang mit Datum und Zeit](#umgang-mit-datum-und-zeit) + - [Nachschlagen von Template-Dateien](#nachschlagen-von-template-dateien) + - [Konfiguration](#konfiguration) - [Einstellung des Angriffsschutzes](#einstellung-des-angriffsschutzes) - - [Mögliche Einstellungen](#m-gliche-einstellungen) - * [Umgebungen](#umgebungen) - * [Fehlerbehandlung](#fehlerbehandlung) - + [Nicht gefunden](#nicht-gefunden) - + [Fehler](#fehler) - * [Rack-Middleware](#rack-middleware) - * [Testen](#testen) - * [Sinatra::Base - Middleware, Bibliotheken und modulare Anwendungen](#sinatra--base---middleware--bibliotheken-und-modulare-anwendungen) - + [Modularer vs. klassischer Stil](#modularer-vs-klassischer-stil) - + [Eine modulare Applikation bereitstellen](#eine-modulare-applikation-bereitstellen) - + [Eine klassische Anwendung mit einer config.ru verwenden](#eine-klassische-anwendung-mit-einer-configru-verwenden) - + [Wann sollte eine config.ru-Datei verwendet werden?](#wann-sollte-eine-configru-datei-verwendet-werden-) - + [Sinatra als Middleware nutzen](#sinatra-als-middleware-nutzen) - + [Dynamische Applikationserstellung](#dynamische-applikationserstellung) - * [Geltungsbereich und Bindung](#geltungsbereich-und-bindung) - + [Anwendungs- oder Klassen-Scope](#anwendungs--oder-klassen-scope) - + [Anfrage- oder Instanz-Scope](#anfrage--oder-instanz-scope) - + [Delegation-Scope](#delegation-scope) - * [Kommandozeile](#kommandozeile) - + [Multi-threading](#multi-threading) - * [Systemanforderungen](#systemanforderungen) - * [Der neuste Stand (The Bleeding Edge)](#der-neuste-stand--the-bleeding-edge-) - + [Mit Bundler](#mit-bundler) - + [Eigenes Repository](#eigenes-repository) - + [Gem erstellen](#gem-erstellen) - * [Versions-Verfahren](#versions-verfahren) - * [Mehr](#mehr) + - [Mögliche Einstellungen](#mögliche-einstellungen) + - [Umgebungen](#umgebungen) + - [Fehlerbehandlung](#fehlerbehandlung) + - [Nicht gefunden](#nicht-gefunden) + - [Fehler](#fehler) + - [Rack-Middleware](#rack-middleware) + - [Testen](#testen) + - [Sinatra::Base - Middleware, Bibliotheken und modulare Anwendungen](#sinatrabase---middleware-bibliotheken-und-modulare-anwendungen) + - [Modularer vs. klassischer Stil](#modularer-vs-klassischer-stil) + - [Eine modulare Applikation bereitstellen](#eine-modulare-applikation-bereitstellen) + - [Eine klassische Anwendung mit einer config.ru verwenden](#eine-klassische-anwendung-mit-einer-configru-verwenden) + - [Wann sollte eine config.ru-Datei verwendet werden?](#wann-sollte-eine-configru-datei-verwendet-werden) + - [Sinatra als Middleware nutzen](#sinatra-als-middleware-nutzen) + - [Dynamische Applikationserstellung](#dynamische-applikationserstellung) + - [Geltungsbereich und Bindung](#geltungsbereich-und-bindung) + - [Anwendungs- oder Klassen-Scope](#anwendungs--oder-klassen-scope) + - [Anfrage- oder Instanz-Scope](#anfrage--oder-instanz-scope) + - [Delegation-Scope](#delegation-scope) + - [Kommandozeile](#kommandozeile) + - [Multi-threading](#multi-threading) + - [Systemanforderungen](#systemanforderungen) + - [Der neuste Stand (The Bleeding Edge)](#der-neuste-stand-the-bleeding-edge) + - [Mit Bundler](#mit-bundler) + - [Versions-Verfahren](#versions-verfahren) + - [Mehr](#mehr) ## Routen @@ -989,29 +986,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang Templates - - - - - - - - - - - - - - -
Abhängigkeitwlang
Dateierweiterung.wlang
Beispielwlang :index, :locals => { :key => 'value' }
- -Ruby-Methoden in Wlang aufzurufen entspricht nicht den idiomatischen Vorgaben -von Wlang, es bietet sich deshalb an, `:locals` zu verwenden. Layouts, die -Wlang und `yield` verwenden, werden aber trotzdem unterstützt. - -Rendert den eingebetteten Template-String. - ### Auf Variablen in Templates zugreifen Templates werden in demselben Kontext ausgeführt wie Routen. Instanzvariablen @@ -1069,8 +1043,7 @@ erb :admin_layout, :layout => :main_layout do end ``` -Zur Zeit nehmen folgende Renderer Blöcke an: `erb`, `haml`, `liquid`, `slim ` -und `wlang`. +Zur Zeit nehmen folgende Renderer Blöcke an: `erb`, `haml`, `liquid` und `slim ` Das gleich gilt auch für die allgemeine `render` Methode. diff --git a/README.es.md b/README.es.md index b55f8980..e3442cd2 100644 --- a/README.es.md +++ b/README.es.md @@ -38,88 +38,87 @@ Se recomienda ejecutar `gem install puma`, porque Sinatra lo utilizará si está ## Tabla de Contenidos -* [Sinatra](#sinatra) - * [Tabla de Contenidos](#tabla-de-contenidos) - * [Rutas](#rutas) - * [Condiciones](#condiciones) - * [Valores de Retorno](#valores-de-retorno) - * [Comparadores de Rutas Personalizados](#comparadores-de-rutas-personalizados) - * [Archivos Estáticos](#archivos-estáticos) - * [Vistas / Plantillas](#vistas--plantillas) - * [Plantillas Literales](#plantillas-literales) - * [Lenguajes de Plantillas Disponibles](#lenguajes-de-plantillas-disponibles) - * [Plantillas Haml](#plantillas-haml) - * [Plantillas Erb](#plantillas-erb) - * [Plantillas Builder](#plantillas-builder) - * [Plantillas Nokogiri](#plantillas-nokogiri) - * [Plantillas Liquid](#plantillas-liquid) - * [Plantillas Markdown](#plantillas-markdown) - * [Plantillas RDoc](#plantillas-rdoc) - * [Plantillas AsciiDoc](#plantillas-asciidoc) - * [Plantillas Radius](#plantillas-radius) - * [Plantillas Markaby](#plantillas-markaby) - * [Plantillas RABL](#plantillas-rabl) - * [Plantillas Slim](#plantillas-slim) - * [Plantillas Creole](#plantillas-creole) - * [Plantillas MediaWiki](#mediawiki-templates) - * [Plantillas CofeeScript](#plantillas-coffeescript) - * [Plantillas Yajl](#plantillas-yajl) - * [Plantillas Wlang](#plantillas-wlang) - * [Accediendo Variables en Plantillas](#accediendo-a-variables-en-plantillas) - * [Plantillas con `yield` y `layout` anidado](#plantillas-con-yield-y-layout-anidado) - * [Plantillas Inline](#plantillas-inline) - * [Plantillas Nombradas](#plantillas-nombradas) - * [Asociando Extensiones de Archivo](#asociando-extensiones-de-archivo) - * [Añadiendo Tu Propio Motor de Plantillas](#añadiendo-tu-propio-motor-de-plantillas) - * [Usando Lógica Personalizada para la Búsqueda en Plantillas](#usando-lógica-personalizada-para-la-búsqueda-en-plantillas) - * [Filtros](#filtros) - * [Helpers](#helpers) - * [Usando Sesiones](#usando-sesiones) - * [Secreto de Sesión](#secreto-de-sesión) - * [Configuración de Sesión](#configuración-de-sesión) - * [Escogiendo tu propio Middleware de Sesión](#escogiendo-tu-propio-middleware-de-sesión) - * [Interrupcion](#interrupción) - * [Paso](#paso) - * [Desencadenando Otra Ruta](#desencadenando-otra-ruta) - * [Configurando el Cuerpo, Código de Estado y los Encabezados](#configurando-el-cuerpo-código-de-estado-y-los-encabezados) - * [Streaming De Respuestas](#streaming-de-respuestas) - * [Logging](#logging) - * [Tipos Mime](#tipos-mime) - * [Generando URLs](#generando-urls) - * [Redirección del Navegador](#redirección-del-navegador) - * [Control del Cache](#control-del-cache) - * [Enviando Archivos](#enviando-archivos) - * [Accediendo al Objeto Request](#accediendo-al-objeto-request) - * [Archivos Adjuntos](#archivos-adjuntos) - * [Fecha y Hora](#fecha-y-hora) - * [Buscando los Archivos de las Plantillas](#buscando-los-archivos-de-las-plantillas) - * [Configuración](#configuración) - * [Configurando la Protección Contra Ataques](#configurando-la-protección-contra-ataques) - * [Configuraciones Disponibles](#configuraciones-disponibles) - * [Entornos](#entornos) - * [Manejo de Errores](#manejo-de-errores) - * [Not Found](#not-found) - * [Error](#error) - * [Rack Middleware](#rack-middleware) - * [Pruebas](#pruebas) - * [Sinatra::Base - Middleware, Librerías, y Aplicaciones Modulares](#sinatrabase---middleware-librerías-y-aplicaciones-modulares) - * [Estilo Modular vs Estilo Clásico](#estilo-modular-vs-clásico) - * [Sirviendo una Aplicación Modular](#sirviendo-una-aplicación-modular) - * [Usando una Aplicación de Estilo Clásico con config.ru](#usando-una-aplicación-clásica-con-un-archivo-configru) - * [¿Cuándo usar config.ru?](#cuándo-usar-configru) - * [Utilizando Sinatra como Middleware](#utilizando-sinatra-como-middleware) - * [Creación Dinámica de Aplicaciones](#creación-dinámica-de-aplicaciones) - * [Ámbitos y Ligaduras (Scopes and Binding)](#Ámbitos-y-ligaduras) - * [Alcance de una Aplicación/Clase](#Ámbito-de-aplicaciónclase) - * [Alcance de una Solicitud/Instancia](#Ámbito-de-peticióninstancia) - * [Alcance de Delegación](#Ámbito-de-delegación) - * [Línea de comandos](#línea-de-comandos) - * [Multi-threading](#multi-threading) - * [Requerimientos](#requerimientos) - * [A la Vanguardia](#a-la-vanguardia) - * [Usando bundler](#usando-bundler) - * [Versionado](#versionado) - * [Lecturas Recomendadas](#lecturas-recomendadas) +- [Sinatra](#sinatra) + - [Tabla de Contenidos](#tabla-de-contenidos) + - [Rutas](#rutas) + - [Condiciones](#condiciones) + - [Valores de Retorno](#valores-de-retorno) + - [Comparadores de Rutas Personalizados](#comparadores-de-rutas-personalizados) + - [Archivos Estáticos](#archivos-estáticos) + - [Vistas / Plantillas](#vistas--plantillas) + - [Plantillas Literales](#plantillas-literales) + - [Lenguajes de Plantillas Disponibles](#lenguajes-de-plantillas-disponibles) + - [Plantillas Haml](#plantillas-haml) + - [Plantillas Erb](#plantillas-erb) + - [Plantillas Builder](#plantillas-builder) + - [Plantillas Nokogiri](#plantillas-nokogiri) + - [Plantillas Liquid](#plantillas-liquid) + - [Plantillas Markdown](#plantillas-markdown) + - [Plantillas RDoc](#plantillas-rdoc) + - [Plantillas AsciiDoc](#plantillas-asciidoc) + - [Plantillas Radius](#plantillas-radius) + - [Plantillas Markaby](#plantillas-markaby) + - [Plantillas RABL](#plantillas-rabl) + - [Plantillas Slim](#plantillas-slim) + - [Plantillas Creole](#plantillas-creole) + - [MediaWiki Templates](#mediawiki-templates) + - [Plantillas CoffeeScript](#plantillas-coffeescript) + - [Plantillas Yajl](#plantillas-yajl) + - [Accediendo a Variables en Plantillas](#accediendo-a-variables-en-plantillas) + - [Plantillas con `yield` y `layout` anidado](#plantillas-con-yield-y-layout-anidado) + - [Plantillas Inline](#plantillas-inline) + - [Plantillas Nombradas](#plantillas-nombradas) + - [Asociando Extensiones de Archivo](#asociando-extensiones-de-archivo) + - [Añadiendo Tu Propio Motor de Plantillas](#añadiendo-tu-propio-motor-de-plantillas) + - [Usando Lógica Personalizada para la Búsqueda en Plantillas](#usando-lógica-personalizada-para-la-búsqueda-en-plantillas) + - [Filtros](#filtros) + - [Helpers](#helpers) + - [Usando Sesiones](#usando-sesiones) + - [Secreto de Sesión](#secreto-de-sesión) + - [Configuración de Sesión](#configuración-de-sesión) + - [Escogiendo tu Propio Middleware de Sesión](#escogiendo-tu-propio-middleware-de-sesión) + - [Interrupción](#interrupción) + - [Paso](#paso) + - [Desencadenando Otra Ruta](#desencadenando-otra-ruta) + - [Configurando el Cuerpo, Código de Estado y los Encabezados](#configurando-el-cuerpo-código-de-estado-y-los-encabezados) + - [Streaming De Respuestas](#streaming-de-respuestas) + - [Logging](#logging) + - [Tipos Mime](#tipos-mime) + - [Generando URLs](#generando-urls) + - [Redirección del Navegador](#redirección-del-navegador) + - [Control del Cache](#control-del-cache) + - [Enviando Archivos](#enviando-archivos) + - [Accediendo al objeto Request](#accediendo-al-objeto-request) + - [Archivos Adjuntos](#archivos-adjuntos) + - [Fecha y Hora](#fecha-y-hora) + - [Buscando los Archivos de las Plantillas](#buscando-los-archivos-de-las-plantillas) + - [Configuración](#configuración) + - [Configurando la Protección Contra Ataques](#configurando-la-protección-contra-ataques) + - [Configuraciones Disponibles](#configuraciones-disponibles) + - [Entornos](#entornos) + - [Manejo de Errores](#manejo-de-errores) + - [Not Found](#not-found) + - [Error](#error) + - [Rack Middleware](#rack-middleware) + - [Pruebas](#pruebas) + - [Sinatra::Base - Middleware, Librerías, y Aplicaciones Modulares](#sinatrabase---middleware-librerías-y-aplicaciones-modulares) + - [Estilo Modular vs. Clásico](#estilo-modular-vs-clásico) + - [Sirviendo una Aplicación Modular](#sirviendo-una-aplicación-modular) + - [Usando una Aplicación Clásica con un Archivo config.ru](#usando-una-aplicación-clásica-con-un-archivo-configru) + - [¿Cuándo usar config.ru?](#cuándo-usar-configru) + - [Utilizando Sinatra como Middleware](#utilizando-sinatra-como-middleware) + - [Creación Dinámica de Aplicaciones](#creación-dinámica-de-aplicaciones) + - [Ámbitos y Ligaduras](#ámbitos-y-ligaduras) + - [Ámbito de Aplicación/Clase](#ámbito-de-aplicaciónclase) + - [Ámbito de Petición/Instancia](#ámbito-de-peticióninstancia) + - [Ámbito de Delegación](#ámbito-de-delegación) + - [Línea de Comandos](#línea-de-comandos) + - [Multi-threading](#multi-threading) + - [Requerimientos](#requerimientos) + - [A la Vanguardia](#a-la-vanguardia) + - [Usando Bundler](#usando-bundler) + - [Versionado](#versionado) + - [Lecturas Recomendadas](#lecturas-recomendadas) ## Rutas @@ -993,26 +992,6 @@ var contenido = {"foo":"bar","baz":"qux"}; present(contenido); ``` -#### Plantillas WLang - - - - - - - - - - - - - - -
Dependenciaswlang
Extensiones de Archivo.wlang
Ejemplowlang :index, :locals => { :clave => 'valor' }
- -Como no vas a poder llamar a métodos de Ruby (excepto por `yield`) desde una -plantilla WLang, casi siempre vas a querer pasarle locales. - ### Accediendo a Variables en Plantillas Las plantillas son evaluadas dentro del mismo contexto que los manejadores de @@ -1071,7 +1050,7 @@ end ``` Actualmente, los siguientes métodos de renderizado aceptan un bloque: `erb`, `haml`, -`liquid`, `slim `, `wlang`. También el método general de `render` acepta un bloque. +`liquid`, `slim `. También el método general de `render` acepta un bloque. ### Plantillas Inline diff --git a/README.fr.md b/README.fr.md index ffcb3a12..5de0cfee 100644 --- a/README.fr.md +++ b/README.fr.md @@ -39,87 +39,84 @@ Sinatra utilise le server Thin quand il est disponible. ## Table des matières -* [Sinatra](#sinatra) - * [Table des matières](#table-des-matières) - * [Routes](#routes) - * [Conditions](#conditions) - * [Valeurs de retour](#valeurs-de-retour) - * [Masques de route spécifiques](#masques-de-route-spécifiques) - * [Fichiers statiques](#fichiers-statiques) - * [Vues / Templates](#vues--templates) - * [Templates littéraux](#templates-littéraux) - * [Langages de template disponibles](#langages-de-template-disponibles) - * [Templates Haml](#templates-haml) - * [Templates Erb](#templates-erb) - * [Templates Builder](#templates-builder) - * [Templates Nokogiri](#templates-nokogiri) - * [Templates Liquid](#templates-liquid) - * [Templates Markdown](#templates-markdown) - * [Templates RDoc](#templates-rdoc) - * [Templates Asciidoc](#templates-asciidoc) - * [Templates Radius](#templates-radius) - * [Templates Markaby](#templates-markaby) - * [Templates RABL](#templates-rabl) - * [Templates Slim](#templates-slim) - * [Templates Creole](#templates-creole) - * [Templates MediaWiki](#templates-mediawiki) - * [Templates CoffeeScript](#templates-coffeescript) - * [Templates Yajl](#templates-yajl) - * [Templates WLang](#templates-wlang) - * [Accéder aux variables dans un Template](#accéder-aux-variables-dans-un-template) - * [Templates avec `yield` et layouts imbriqués](#templates-avec-yield-et-layouts-imbriqués) - * [Templates dans le fichier source](#templates-dans-le-fichier-source) - * [Templates nommés](#templates-nommés) - * [Associer des extensions de fichier](#associer-des-extensions-de-fichier) - * [Ajouter son propre moteur de rendu](#ajouter-son-propre-moteur-de-rendu) - * [Utiliser des règles personnalisées pour la recherche de templates](#utiliser-des-règles-personnalisées-pour-la-recherche-de-templates) - * [Filtres](#filtres) - * [Helpers](#helpers) - * [Utiliser les sessions](#utiliser-les-sessions) - * [Halt](#halt) - * [Passer](#passer) - * [Déclencher une autre route](#déclencher-une-autre-route) - * [Définir le corps, le code retour et les en-têtes](#définir-le-corps-le-code-retour-et-les-en-têtes) - * [Faire du streaming](#faire-du-streaming) - * [Journalisation (Logging)](#journalisation-logging) - * [Types Mime](#types-mime) - * [Former des URLs](#former-des-urls) - * [Redirection du navigateur](#redirection-du-navigateur) - * [Contrôle du cache](#contrôle-du-cache) - * [Envoyer des fichiers](#envoyer-des-fichiers) - * [Accéder à l'objet requête](#accéder-à-lobjet-requête) - * [Fichiers joints](#fichiers-joints) - * [Gérer Date et Time](#gérer-date-et-time) - * [Chercher les fichiers de templates](#chercher-les-fichiers-de-templates) - * [Configuration](#configuration) - * [Se protéger des attaques](#se-protéger-des-attaques) - * [Paramètres disponibles](#paramètres-disponibles) - * [Environnements](#environnements) - * [Gérer les erreurs](#gérer-les-erreurs) - * [NotFound](#notfound) - * [Error](#error) - * [Les Middlewares Rack](#les-middlewares-rack) - * [Tester](#tester) - * [Sinatra::Base - Les Middlewares, Bibliothèques, et Applications Modulaires](#sinatrabase---les-middlewares-bibliothèques-et-applications-modulaires) - * [Style modulaire vs. style classique](#style-modulaire-vs-style-classique) - * [Servir une application modulaire](#servir-une-application-modulaire) - * [Utiliser une application de style classique avec un fichier config.ru](#utiliser-une-application-de-style-classique-avec-un-fichier-configru) - * [Quand utiliser un fichier config.ru ?](#quand-utiliser-un-fichier-configru-) - * [Utiliser Sinatra comme Middleware](#utiliser-sinatra-comme-middleware) - * [Création dynamique d'applications](#création-dynamique-dapplications) - * [Contextes et Binding](#contextes-et-binding) - * [Contexte de l'application/classe](#contexte-de-lapplicationclasse) - * [Contexte de la requête/instance](#contexte-de-la-requêteinstance) - * [Le contexte de délégation](#le-contexte-de-délégation) - * [Ligne de commande](#ligne-de-commande) - * [Multi-threading](#multi-threading) - * [Configuration nécessaire](#configuration-nécessaire) - * [Essuyer les plâtres](#essuyer-les-plâtres) - * [Installer avec Bundler](#installer-avec-bundler) - * [Faire un clone local](#faire-un-clone-local) - * [Installer globalement](#installer-globalement) - * [Versions](#versions) - * [Mais encore](#mais-encore) +- [Sinatra](#sinatra) + - [Table des matières](#table-des-matières) + - [Routes](#routes) + - [Conditions](#conditions) + - [Valeurs de retour](#valeurs-de-retour) + - [Masques de route spécifiques](#masques-de-route-spécifiques) + - [Fichiers statiques](#fichiers-statiques) + - [Vues / Templates](#vues--templates) + - [Templates littéraux](#templates-littéraux) + - [Langages de template disponibles](#langages-de-template-disponibles) + - [Templates Haml](#templates-haml) + - [Templates Erb](#templates-erb) + - [Templates Builder](#templates-builder) + - [Templates Nokogiri](#templates-nokogiri) + - [Templates Liquid](#templates-liquid) + - [Templates Markdown](#templates-markdown) + - [Templates RDoc](#templates-rdoc) + - [Templates Asciidoc](#templates-asciidoc) + - [Templates Radius](#templates-radius) + - [Templates Markaby](#templates-markaby) + - [Templates RABL](#templates-rabl) + - [Templates Slim](#templates-slim) + - [Templates Creole](#templates-creole) + - [Templates MediaWiki](#templates-mediawiki) + - [Templates CoffeeScript](#templates-coffeescript) + - [Templates Yajl](#templates-yajl) + - [Accéder aux variables dans un Template](#accéder-aux-variables-dans-un-template) + - [Templates avec `yield` et layouts imbriqués](#templates-avec-yield-et-layouts-imbriqués) + - [Templates dans le fichier source](#templates-dans-le-fichier-source) + - [Templates nommés](#templates-nommés) + - [Associer des extensions de fichier](#associer-des-extensions-de-fichier) + - [Ajouter son propre moteur de rendu](#ajouter-son-propre-moteur-de-rendu) + - [Utiliser des règles personnalisées pour la recherche de templates](#utiliser-des-règles-personnalisées-pour-la-recherche-de-templates) + - [Filtres](#filtres) + - [Helpers](#helpers) + - [Utiliser les sessions](#utiliser-les-sessions) + - [Halt](#halt) + - [Passer](#passer) + - [Déclencher une autre route](#déclencher-une-autre-route) + - [Définir le corps, le code retour et les en-têtes](#définir-le-corps-le-code-retour-et-les-en-têtes) + - [Faire du streaming](#faire-du-streaming) + - [Journalisation (Logging)](#journalisation-logging) + - [Types Mime](#types-mime) + - [Former des URLs](#former-des-urls) + - [Redirection du navigateur](#redirection-du-navigateur) + - [Contrôle du cache](#contrôle-du-cache) + - [Envoyer des fichiers](#envoyer-des-fichiers) + - [Accéder à l'objet requête](#accéder-à-lobjet-requête) + - [Fichiers joints](#fichiers-joints) + - [Gérer Date et Time](#gérer-date-et-time) + - [Chercher les fichiers de templates](#chercher-les-fichiers-de-templates) + - [Configuration](#configuration) + - [Se protéger des attaques](#se-protéger-des-attaques) + - [Paramètres disponibles](#paramètres-disponibles) + - [Environnements](#environnements) + - [Gérer les erreurs](#gérer-les-erreurs) + - [NotFound](#notfound) + - [Error](#error) + - [Les Middlewares Rack](#les-middlewares-rack) + - [Tester](#tester) + - [Sinatra::Base - Les Middlewares, Bibliothèques, et Applications Modulaires](#sinatrabase---les-middlewares-bibliothèques-et-applications-modulaires) + - [Style modulaire vs. style classique](#style-modulaire-vs-style-classique) + - [Servir une application modulaire](#servir-une-application-modulaire) + - [Utiliser une application de style classique avec un fichier config.ru](#utiliser-une-application-de-style-classique-avec-un-fichier-configru) + - [Quand utiliser un fichier config.ru ?](#quand-utiliser-un-fichier-configru-) + - [Utiliser Sinatra comme Middleware](#utiliser-sinatra-comme-middleware) + - [Création dynamique d'applications](#création-dynamique-dapplications) + - [Contextes et Binding](#contextes-et-binding) + - [Contexte de l'application/classe](#contexte-de-lapplicationclasse) + - [Contexte de la requête/instance](#contexte-de-la-requêteinstance) + - [Le contexte de délégation](#le-contexte-de-délégation) + - [Ligne de commande](#ligne-de-commande) + - [Multi-threading](#multi-threading) + - [Configuration nécessaire](#configuration-nécessaire) + - [Essuyer les plâtres](#essuyer-les-plâtres) + - [Installer avec Bundler](#installer-avec-bundler) + - [Versions](#versions) + - [Mais encore](#mais-encore) ## Routes @@ -999,28 +996,6 @@ l’objet retourné. var ressource = {"foo":"bar","baz":"qux"}; present(ressource); ``` -#### Templates WLang - - - - - - - - - - - - - - -
Dépendanceswlang
Extensions de fichier.wlang
Exemplewlang :index, :locals => { :key => 'value' }
- -L’appel de code ruby au sein des templates n’est pas idiomatique en wlang. -L’écriture de templates sans logique est encouragée, via le passage de variables -locales. Il est néanmoins possible d’écrire un layout en wlang et d’y utiliser -`yield`. - ### Accéder aux variables dans un Template Un template est évalué dans le même contexte que l'endroit d'où il a été @@ -1079,7 +1054,7 @@ end ``` Actuellement, les méthodes de rendu qui acceptent un bloc sont : `erb`, `haml`, -`liquid`, `slim ` et `wlang`. La méthode générale `render` accepte elle aussi +`liquid` et `slim `. La méthode générale `render` accepte elle aussi un bloc. diff --git a/README.ja.md b/README.ja.md index 360587cf..532dac87 100644 --- a/README.ja.md +++ b/README.ja.md @@ -36,90 +36,89 @@ PumaがあればSinatraはこれを利用するので、`gem install puma`する ## 目次 -* [Sinatra](#sinatra) - * [目次](#目次) - * [ルーティング(Routes)](#ルーティングroutes) - * [条件(Conditions)](#条件conditions) - * [戻り値(Return Values)](#戻り値return-values) - * [カスタムルーティングマッチャー(Custom Route Matchers)](#カスタムルーティングマッチャーcustom-route-matchers) - * [静的ファイル(Static Files)](#静的ファイルstatic-files) - * [ビュー / テンプレート(Views / Templates)](#ビュー--テンプレートviews--templates) - * [リテラルテンプレート(Literal Templates)](#リテラルテンプレートliteral-templates) - * [利用可能なテンプレート言語](#利用可能なテンプレート言語) - * [Haml テンプレート](#haml-テンプレート) - * [Erb テンプレート](#erb-テンプレート) - * [Builder テンプレート](#builder-テンプレート) - * [Nokogiri テンプレート](#nokogiri-テンプレート) - * [Liquid テンプレート](#liquid-テンプレート) - * [Markdown テンプレート](#markdown-テンプレート) - * [RDoc テンプレート](#rdoc-テンプレート) - * [AsciiDoc テンプレート](#asciidoc-テンプレート) - * [Radius テンプレート](#radius-テンプレート) - * [Markaby テンプレート](#markaby-テンプレート) - * [RABL テンプレート](#rabl-テンプレート) - * [Slim テンプレート](#slim-テンプレート) - * [Creole テンプレート](#creole-テンプレート) - * [MediaWiki テンプレート](#mediawiki-テンプレート) - * [CoffeeScript テンプレート](#coffeescript-テンプレート) - * [Yajl テンプレート](#yajl-テンプレート) - * [WLang テンプレート](#wlang-テンプレート) - * [テンプレート内での変数へのアクセス](#テンプレート内での変数へのアクセス) - * [`yield`を伴うテンプレートとネストしたレイアウト](#yieldを伴うテンプレートとネストしたレイアウト) - * [インラインテンプレート(Inline Templates)](#インラインテンプレートinline-templates) - * [名前付きテンプレート(Named Templates)](#名前付きテンプレートnamed-templates) - * [ファイル拡張子の関連付け](#ファイル拡張子の関連付け) - * [オリジナルテンプレートエンジンの追加](#オリジナルテンプレートエンジンの追加) - * [カスタムロジックを使用したテンプレートの探索](#カスタムロジックを使用したテンプレートの探索) - * [フィルタ(Filters)](#フィルタfilters) - * [ヘルパー(Helpers)](#ヘルパーhelpers) - * [セッションの使用](#セッションの使用) - * [セッション秘密鍵のセキュリティ](#セッション秘密鍵のセキュリティ) - * [セッションコンフィグ](#セッションコンフィグ) - * [自分で選んだセッションミドルウェアを使う](#自分で選んだセッションミドルウェアを使う) - * [停止(Halting)](#停止halting) - * [パッシング(Passing)](#パッシングpassing) - * [別ルーティングの誘発](#別ルーティングの誘発) - * [ボディ、ステータスコードおよびヘッダの設定](#ボディステータスコードおよびヘッダの設定) - * [ストリーミングレスポンス(Streaming Responses)](#ストリーミングレスポンスstreaming-responses) - * [ロギング(Logging)](#ロギングlogging) - * [MIMEタイプ(Mime Types)](#mimeタイプmime-types) - * [URLの生成](#urlの生成) - * [ブラウザリダイレクト(Browser Redirect)](#ブラウザリダイレクトbrowser-redirect) - * [キャッシュ制御(Cache Control)](#キャッシュ制御cache-control) - * [ファイルの送信](#ファイルの送信) - * [リクエストオブジェクトへのアクセス](#リクエストオブジェクトへのアクセス) - * [アタッチメント(Attachments)](#アタッチメントattachments) - * [日付と時刻の取り扱い](#日付と時刻の取り扱い) - * [テンプレートファイルの探索](#テンプレートファイルの探索) - * [コンフィギュレーション(Configuration)](#コンフィギュレーションconfiguration) - * [攻撃防御に対する設定](#攻撃防御に対する設定) - * [利用可能な設定](#利用可能な設定) - * [環境設定(Environments)](#環境設定environments) - * [エラーハンドリング(Error Handling)](#エラーハンドリングerror-handling) - * [Not Found](#not-found) - * [エラー(Error)](#エラーerror) - * [Rackミドルウェア(Rack Middleware)](#rackミドルウェアrack-middleware) - * [テスト(Testing)](#テストtesting) - * [Sinatra::Base - ミドルウェア、ライブラリおよびモジュラーアプリ](#sinatrabase---ミドルウェアライブラリおよびモジュラーアプリ) - * [モジュラースタイル vs クラッシックスタイル](#モジュラースタイル-vs-クラッシックスタイル) - * [モジュラーアプリケーションの提供](#モジュラーアプリケーションの提供) - * [config.ruを用いたクラッシックスタイルアプリケーションの使用](#configruを用いたクラッシックスタイルアプリケーションの使用) - * [config.ruはいつ使うのか?](#configruはいつ使うのか) - * [Sinatraのミドルウェアとしての利用](#sinatraのミドルウェアとしての利用) - * [動的なアプリケーションの生成](#動的なアプリケーションの生成) - * [スコープとバインディング(Scopes and Binding)](#スコープとバインディングscopes-and-binding) - * [アプリケーション/クラスのスコープ](#アプリケーションクラスのスコープ) - * [リクエスト/インスタンスのスコープ](#リクエストインスタンスのスコープ) - * [デリゲートスコープ](#デリゲートスコープ) - * [コマンドライン](#コマンドライン) - * [マルチスレッド](#マルチスレッド) - * [必要環境](#必要環境) - * [最新開発版](#最新開発版) - * [Bundlerを使う場合](#bundlerを使う場合) - * [直接組み込む場合](#直接組み込む場合) - * [グローバル環境にインストールする場合](#グローバル環境にインストールする場合) - * [バージョニング(Versioning)](#バージョニングversioning) - * [参考文献](#参考文献) +- [Sinatra](#sinatra) + - [目次](#目次) + - [ルーティング(Routes)](#ルーティングroutes) + - [条件(Conditions)](#条件conditions) + - [戻り値(Return Values)](#戻り値return-values) + - [カスタムルーティングマッチャー(Custom Route Matchers)](#カスタムルーティングマッチャーcustom-route-matchers) + - [静的ファイル(Static Files)](#静的ファイルstatic-files) + - [ビュー / テンプレート(Views / Templates)](#ビュー--テンプレートviews--templates) + - [リテラルテンプレート(Literal Templates)](#リテラルテンプレートliteral-templates) + - [利用可能なテンプレート言語](#利用可能なテンプレート言語) + - [Haml テンプレート](#haml-テンプレート) + - [Erb テンプレート](#erb-テンプレート) + - [Builder テンプレート](#builder-テンプレート) + - [Nokogiri テンプレート](#nokogiri-テンプレート) + - [Liquid テンプレート](#liquid-テンプレート) + - [Markdown テンプレート](#markdown-テンプレート) + - [RDoc テンプレート](#rdoc-テンプレート) + - [AsciiDoc テンプレート](#asciidoc-テンプレート) + - [Radius テンプレート](#radius-テンプレート) + - [Markaby テンプレート](#markaby-テンプレート) + - [RABL テンプレート](#rabl-テンプレート) + - [Slim テンプレート](#slim-テンプレート) + - [Creole テンプレート](#creole-テンプレート) + - [MediaWiki テンプレート](#mediawiki-テンプレート) + - [CoffeeScript テンプレート](#coffeescript-テンプレート) + - [Yajl テンプレート](#yajl-テンプレート) + - [テンプレート内での変数へのアクセス](#テンプレート内での変数へのアクセス) + - [`yield`を伴うテンプレートとネストしたレイアウト](#yieldを伴うテンプレートとネストしたレイアウト) + - [インラインテンプレート(Inline Templates)](#インラインテンプレートinline-templates) + - [名前付きテンプレート(Named Templates)](#名前付きテンプレートnamed-templates) + - [ファイル拡張子の関連付け](#ファイル拡張子の関連付け) + - [オリジナルテンプレートエンジンの追加](#オリジナルテンプレートエンジンの追加) + - [カスタムロジックを使用したテンプレートの探索](#カスタムロジックを使用したテンプレートの探索) + - [フィルタ(Filters)](#フィルタfilters) + - [ヘルパー(Helpers)](#ヘルパーhelpers) + - [セッションの使用](#セッションの使用) + - [セッション秘密鍵のセキュリティ](#セッション秘密鍵のセキュリティ) + - [セッションコンフィグ](#セッションコンフィグ) + - [自分で選んだセッションミドルウェアを使う](#自分で選んだセッションミドルウェアを使う) + - [停止(Halting)](#停止halting) + - [パッシング(Passing)](#パッシングpassing) + - [別ルーティングの誘発](#別ルーティングの誘発) + - [ボディ、ステータスコードおよびヘッダの設定](#ボディステータスコードおよびヘッダの設定) + - [ストリーミングレスポンス(Streaming Responses)](#ストリーミングレスポンスstreaming-responses) + - [ロギング(Logging)](#ロギングlogging) + - [MIMEタイプ(Mime Types)](#mimeタイプmime-types) + - [URLの生成](#urlの生成) + - [ブラウザリダイレクト(Browser Redirect)](#ブラウザリダイレクトbrowser-redirect) + - [キャッシュ制御(Cache Control)](#キャッシュ制御cache-control) + - [ファイルの送信](#ファイルの送信) + - [リクエストオブジェクトへのアクセス](#リクエストオブジェクトへのアクセス) + - [アタッチメント(Attachments)](#アタッチメントattachments) + - [日付と時刻の取り扱い](#日付と時刻の取り扱い) + - [テンプレートファイルの探索](#テンプレートファイルの探索) + - [コンフィギュレーション(Configuration)](#コンフィギュレーションconfiguration) + - [攻撃防御に対する設定](#攻撃防御に対する設定) + - [利用可能な設定](#利用可能な設定) + - [環境設定(Environments)](#環境設定environments) + - [エラーハンドリング(Error Handling)](#エラーハンドリングerror-handling) + - [未検出(Not Found)](#未検出not-found) + - [エラー(Error)](#エラーerror) + - [Rackミドルウェア(Rack Middleware)](#rackミドルウェアrack-middleware) + - [テスト(Testing)](#テストtesting) + - [Sinatra::Base - ミドルウェア、ライブラリおよびモジュラーアプリ](#sinatrabase---ミドルウェアライブラリおよびモジュラーアプリ) + - [モジュラースタイル vs クラッシックスタイル](#モジュラースタイル-vs-クラッシックスタイル) + - [モジュラーアプリケーションの提供](#モジュラーアプリケーションの提供) + - [config.ruを用いたクラッシックスタイルアプリケーションの使用](#configruを用いたクラッシックスタイルアプリケーションの使用) + - [config.ruはいつ使うのか?](#configruはいつ使うのか) + - [Sinatraのミドルウェアとしての利用](#sinatraのミドルウェアとしての利用) + - [動的なアプリケーションの生成](#動的なアプリケーションの生成) + - [スコープとバインディング(Scopes and Binding)](#スコープとバインディングscopes-and-binding) + - [アプリケーション/クラスのスコープ](#アプリケーションクラスのスコープ) + - [リクエスト/インスタンスのスコープ](#リクエストインスタンスのスコープ) + - [デリゲートスコープ](#デリゲートスコープ) + - [コマンドライン](#コマンドライン) + - [マルチスレッド](#マルチスレッド) + - [必要環境](#必要環境) + - [最新開発版](#最新開発版) + - [Bundlerを使う場合](#bundlerを使う場合) + - [直接組み込む場合](#直接組み込む場合) + - [グローバル環境にインストールする場合](#グローバル環境にインストールする場合) + - [バージョニング(Versioning)](#バージョニングversioning) + - [参考文献](#参考文献) ## ルーティング(Routes) @@ -907,25 +906,6 @@ json[:baz] = key var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang テンプレート - - - - - - - - - - - - - - -
依存wlang
ファイル拡張子.wlang
wlang :index, :locals => { :key => 'value' }
- -WLang内でのRubyメソッドの呼び出しは一般的ではないので、ほとんどの場合にlocalsを指定する必要があるでしょう。しかしながら、WLangで書かれたレイアウトは`yield`をサポートしています。 - ### テンプレート内での変数へのアクセス テンプレートはルーティングハンドラと同じコンテキストの中で評価されます。ルーティングハンドラでセットされたインスタンス変数はテンプレート内で直接使うことができます。 @@ -980,7 +960,7 @@ end ``` 現在、次のレンダリングメソッドがブロックを取れます: `erb`, `haml`, -`liquid`, `slim `, `wlang`。 +`liquid`, `slim `。 また汎用の`render`メソッドもブロックを取れます。 ### インラインテンプレート(Inline Templates) diff --git a/README.ko.md b/README.ko.md index d5ea64ae..ec8f4eb3 100644 --- a/README.ko.md +++ b/README.ko.md @@ -34,87 +34,86 @@ thin이 설치되어 있을 경우 Sinatra는 thin을 통해 실행합니다. ## 목차 -* [Sinatra](#sinatra) - * [목차](#목차) - * [라우터(Routes)](#라우터routes) - * [조건(Conditions)](#조건conditions) - * [반환값(Return Values)](#반환값return-values) - * [커스텀 라우터 매처(Custom Route Matchers)](#커스텀-라우터-매처custom-route-matchers) - * [정적 파일(Static Files)](#정적-파일static-files) - * [뷰 / 템플릿(Views / Templates)](#뷰--템플릿views--templates) - * [리터럴 템플릿(Literal Templates)](#리터럴-템플릿literal-templates) - * [가능한 템플릿 언어들(Available Template Languages)](#가능한-템플릿-언어들available-template-languages) - * [Haml 템플릿](#haml-템플릿) - * [Erb 템플릿](#erb-템플릿) - * [Builder 템플릿](#builder-템플릿) - * [Nokogiri 템플릿](#nokogiri-템플릿) - * [Liquid 템플릿](#liquid-템플릿) - * [Markdown 템플릿](#markdown-템플릿) - * [RDoc 템플릿](#rdoc-템플릿) - * [AsciiDoc 템플릿](#asciidoc-템플릿) - * [Radius 템플릿](#radius-템플릿) - * [Markaby 템플릿](#markaby-템플릿) - * [RABL 템플릿](#rabl-템플릿) - * [Slim 템플릿](#slim-템플릿) - * [Creole 템플릿](#creole-템플릿) - * [MediaWiki 템플릿](#mediawiki-템플릿) - * [CoffeeScript 템플릿](#coffeescript-템플릿) - * [Yajl 템플릿](#yajl-템플릿) - * [WLang 템플릿](#wlang-템플릿) - * [템플릿에서 변수에 접근하기](#템플릿에서-변수에-접근하기) - * [템플릿에서의 `yield` 와 중첩 레이아웃](#템플릿에서의-yield-와-중첩-레이아웃) - * [인라인 템플릿](#인라인-템플릿) - * [이름을 가지는 템플릿(Named Templates)](#이름을-가지는-템플릿named-templates) - * [파일 확장자 연결하기](#파일-확장자-연결하기) - * [나만의 고유한 템플릿 엔진 추가하기](#나만의-고유한-템플릿-엔진-추가하기) - * [템플릿 검사를 위한 커스텀 로직 사용하기](#템플릿-검사를-위한-커스텀-로직-사용하기) - * [필터(Filters)](#필터filters) - * [헬퍼(Helpers)](#헬퍼helpers) - * [세션(Sessions) 사용하기](#세션sessions-사용하기) - * [중단하기(Halting)](#중단하기halting) - * [넘기기(Passing)](#넘기기passing) - * [다른 라우터 부르기(Triggering Another Route)](#다른-라우터-부르기triggering-another-route) - * [본문, 상태 코드 및 헤더 설정하기](#본문-상태-코드-및-헤더-설정하기) - * [응답 스트리밍(Streaming Responses)](#응답-스트리밍streaming-responses) - * [로깅(Logging)](#로깅logging) - * [마임 타입(Mime Types)](#마임-타입mime-types) - * [URL 생성하기](#url-생성하기) - * [브라우저 재지정(Browser Redirect)](#브라우저-재지정browser-redirect) - * [캐시 컨트롤(Cache Control)](#캐시-컨트롤cache-control) - * [파일 전송하기(Sending Files)](#파일-전송하기sending-files) - * [요청 객체에 접근하기(Accessing the Request Object)](#요청-객체에-접근하기accessing-the-request-object) - * [첨부(Attachments)](#첨부attachments) - * [날짜와 시간 다루기](#날짜와-시간-다루기) - * [템플릿 파일 참조하기](#템플릿-파일-참조하기) - * [설정(Configuration)](#설정configuration) - * [공격 방어 설정하기(Configuring attack protection)](#공격-방어-설정하기configuring-attack-protection) - * [가능한 설정들(Available Settings)](#가능한-설정들available-settings) - * [환경(Environments)](#환경environments) - * [에러 처리(Error Handling)](#에러-처리error-handling) - * [찾을 수 없음(Not Found)](#찾을-수-없음not-found) - * [에러](#에러) - * [Rack 미들웨어(Rack Middleware)](#rack-미들웨어rack-middleware) - * [테스팅(Testing)](#테스팅testing) - * [Sinatra::Base - 미들웨어(Middleware), 라이브러리(Libraries), 그리고 모듈 앱(Modular Apps)](#sinatrabase---미들웨어middleware-라이브러리libraries-그리고-모듈-앱modular-apps) - * [모듈(Modular) vs. 전통적 방식(Classic Style)](#모듈modular-vs-전통적-방식classic-style) - * [모듈 애플리케이션(Modular Application) 제공하기](#모듈-애플리케이션modular-application-제공하기) - * [config.ru로 전통적 방식의 애플리케이션 사용하기](#configru로-전통적-방식의-애플리케이션-사용하기) - * [언제 config.ru를 사용할까?](#언제-configru를-사용할까) - * [Sinatra를 미들웨어로 사용하기](#sinatra를-미들웨어로-사용하기) - * [동적인 애플리케이션 생성(Dynamic Application Creation)](#동적인-애플리케이션-생성dynamic-application-creation) - * [범위(Scopes)와 바인딩(Binding)](#범위scopes와-바인딩binding) - * [애플리케이션/클래스 범위](#애플리케이션클래스-범위) - * [요청/인스턴스 범위](#요청인스턴스-범위) - * [위임 범위(Delegation Scope)](#위임-범위delegation-scope) - * [명령행(Command Line)](#명령행command-line) - * [다중 스레드(Multi-threading)](#다중-스레드multi-threading) - * [요구사항(Requirement)](#요구사항requirement) - * [최신(The Bleeding Edge)](#최신the-bleeding-edge) - * [Bundler를 사용하여](#bundler를-사용하여) - * [직접 하기(Roll Your Own)](#직접-하기roll-your-own) - * [전역으로 설치(Install Globally)](#전역으로-설치install-globally) - * [버저닝(Versioning)](#버저닝versioning) - * [더 읽을 거리(Further Reading)](#더-읽을-거리further-reading) +- [Sinatra](#sinatra) + - [목차](#목차) + - [라우터(Routes)](#라우터routes) + - [조건(Conditions)](#조건conditions) + - [반환값(Return Values)](#반환값return-values) + - [커스텀 라우터 매처(Custom Route Matchers)](#커스텀-라우터-매처custom-route-matchers) + - [정적 파일(Static Files)](#정적-파일static-files) + - [뷰 / 템플릿(Views / Templates)](#뷰--템플릿views--templates) + - [리터럴 템플릿(Literal Templates)](#리터럴-템플릿literal-templates) + - [가능한 템플릿 언어들(Available Template Languages)](#가능한-템플릿-언어들available-template-languages) + - [Haml 템플릿](#haml-템플릿) + - [Erb 템플릿](#erb-템플릿) + - [Builder 템플릿](#builder-템플릿) + - [Nokogiri 템플릿](#nokogiri-템플릿) + - [Liquid 템플릿](#liquid-템플릿) + - [Markdown 템플릿](#markdown-템플릿) + - [RDoc 템플릿](#rdoc-템플릿) + - [AsciiDoc 템플릿](#asciidoc-템플릿) + - [Radius 템플릿](#radius-템플릿) + - [Markaby 템플릿](#markaby-템플릿) + - [RABL 템플릿](#rabl-템플릿) + - [Slim 템플릿](#slim-템플릿) + - [Creole 템플릿](#creole-템플릿) + - [MediaWiki 템플릿](#mediawiki-템플릿) + - [CoffeeScript 템플릿](#coffeescript-템플릿) + - [Yajl 템플릿](#yajl-템플릿) + - [템플릿에서 변수에 접근하기](#템플릿에서-변수에-접근하기) + - [템플릿에서의 `yield` 와 중첩 레이아웃](#템플릿에서의-yield-와-중첩-레이아웃) + - [인라인 템플릿](#인라인-템플릿) + - [이름을 가지는 템플릿(Named Templates)](#이름을-가지는-템플릿named-templates) + - [파일 확장자 연결하기](#파일-확장자-연결하기) + - [나만의 고유한 템플릿 엔진 추가하기](#나만의-고유한-템플릿-엔진-추가하기) + - [템플릿 검사를 위한 커스텀 로직 사용하기](#템플릿-검사를-위한-커스텀-로직-사용하기) + - [필터(Filters)](#필터filters) + - [헬퍼(Helpers)](#헬퍼helpers) + - [세션(Sessions) 사용하기](#세션sessions-사용하기) + - [중단하기(Halting)](#중단하기halting) + - [넘기기(Passing)](#넘기기passing) + - [다른 라우터 부르기(Triggering Another Route)](#다른-라우터-부르기triggering-another-route) + - [본문, 상태 코드 및 헤더 설정하기](#본문-상태-코드-및-헤더-설정하기) + - [응답 스트리밍(Streaming Responses)](#응답-스트리밍streaming-responses) + - [로깅(Logging)](#로깅logging) + - [마임 타입(Mime Types)](#마임-타입mime-types) + - [URL 생성하기](#url-생성하기) + - [브라우저 재지정(Browser Redirect)](#브라우저-재지정browser-redirect) + - [캐시 컨트롤(Cache Control)](#캐시-컨트롤cache-control) + - [파일 전송하기(Sending Files)](#파일-전송하기sending-files) + - [요청 객체에 접근하기(Accessing the Request Object)](#요청-객체에-접근하기accessing-the-request-object) + - [첨부(Attachments)](#첨부attachments) + - [날짜와 시간 다루기](#날짜와-시간-다루기) + - [템플릿 파일 참조하기](#템플릿-파일-참조하기) + - [설정(Configuration)](#설정configuration) + - [공격 방어 설정하기(Configuring attack protection)](#공격-방어-설정하기configuring-attack-protection) + - [가능한 설정들(Available Settings)](#가능한-설정들available-settings) + - [환경(Environments)](#환경environments) + - [에러 처리(Error Handling)](#에러-처리error-handling) + - [찾을 수 없음(Not Found)](#찾을-수-없음not-found) + - [에러](#에러) + - [Rack 미들웨어(Middleware)](#rack-미들웨어middleware) + - [테스팅(Testing)](#테스팅testing) + - [Sinatra::Base - 미들웨어(Middleware), 라이브러리(Libraries), 그리고 모듈 앱(Modular Apps)](#sinatrabase---미들웨어middleware-라이브러리libraries-그리고-모듈-앱modular-apps) + - [모듈(Modular) vs. 전통적 방식(Classic Style)](#모듈modular-vs-전통적-방식classic-style) + - [모듈 애플리케이션(Modular Application) 제공하기](#모듈-애플리케이션modular-application-제공하기) + - [config.ru로 전통적 방식의 애플리케이션 사용하기](#configru로-전통적-방식의-애플리케이션-사용하기) + - [언제 config.ru를 사용할까?](#언제-configru를-사용할까) + - [Sinatra를 미들웨어로 사용하기](#sinatra를-미들웨어로-사용하기) + - [동적인 애플리케이션 생성(Dynamic Application Creation)](#동적인-애플리케이션-생성dynamic-application-creation) + - [범위(Scopes)와 바인딩(Binding)](#범위scopes와-바인딩binding) + - [애플리케이션/클래스 범위](#애플리케이션클래스-범위) + - [요청/인스턴스 범위](#요청인스턴스-범위) + - [위임 범위(Delegation Scope)](#위임-범위delegation-scope) + - [명령행(Command Line)](#명령행command-line) + - [다중 스레드(Multi-threading)](#다중-스레드multi-threading) + - [요구사항(Requirement)](#요구사항requirement) + - [최신(The Bleeding Edge)](#최신the-bleeding-edge) + - [Bundler를 사용하여](#bundler를-사용하여) + - [직접 하기(Roll Your Own)](#직접-하기roll-your-own) + - [전역으로 설치(Install Globally)](#전역으로-설치install-globally) + - [버저닝(Versioning)](#버저닝versioning) + - [더 읽을 거리(Further Reading)](#더-읽을-거리further-reading) ## 라우터(Routes) @@ -914,27 +913,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang 템플릿 - - - - - - - - - - - - - - -
의존성WLang
파일 확장자.wlang
예제wlang :index, :locals => { :key => 'value' }
- -WLang 템플릿에서는 루비 메서드를 사용하는게 일반적이지 않기 -때문에, 거의 대부분의 경우 locals를 전달합니다. 그래도 -WLang으로 쓰여진 레이아웃과 `yield`는 지원합니다. - ### 템플릿에서 변수에 접근하기 템플릿은 라우터 핸들러와 같은 맥락(context)에서 평가됩니다. 라우터 @@ -991,7 +969,7 @@ erb :admin_layout, :layout => :main_layout do end ``` -현재, `erb`, `haml`, `liquid`, `slim `, `wlang`는 블럭을 지원합니다. +현재, `erb`, `haml`, `liquid`, `slim `는 블럭을 지원합니다. 일반적인 `render` 메소드도 블럭을 지원합니다. ### 인라인 템플릿 diff --git a/README.malayalam.md b/README.malayalam.md index c7aed2b7..2877bee8 100644 --- a/README.malayalam.md +++ b/README.malayalam.md @@ -38,88 +38,87 @@ View at: [http://localhost:4567](http://localhost:4567) ## ഉള്ളടക്കം -* [സിനാട്ര](#sinatra) - * [ഉള്ളടക്കം](#table-of-contents) - * [റൂട്സ്](#routes) - * [കണ്ടിഷൻസ്](#conditions) - * [റിട്ടേൺ വാല്യൂസ്](#return-values) - * [കസ്റ്റമ് റൂട്ട് മടീച്ചേഴ്സ് ](#custom-route-matchers) - * [സ്റ്റാറ്റിക് files](#static-files) - * [വ്യൂസ് / ടെംപ്ലേറ്റ്സ്](#views--templates) - * [ലിറ്ററൽ ടെംപ്ലേറ്റ്സ് ](#literal-templates) - * [ലഭ്യമായ ടെംപ്ലേറ്റ്സ് ഭാഷകൾ ](#available-template-languages) - * [Haml ടെംപ്ലേറ്റ്സ്](#haml-templates) - * [Erb ടെംപ്ലേറ്റ്സ്](#erb-templates) - * [Builder ടെംപ്ലേറ്റ്സ്](#builder-templates) - * [nokogiri ടെംപ്ലേറ്റ്സ്](#nokogiri-templates) - * [Liquid ടെംപ്ലേറ്റ്സ്](#liquid-templates) - * [Markdown ടെംപ്ലേറ്റ്സ്](#markdown-templates) - * [RDoc ടെംപ്ലേറ്റ്സ്](#rdoc-templates) - * [AsciiDoc ടെംപ്ലേറ്റ്സ്](#asciidoc-templates) - * [Radius ടെംപ്ലേറ്റ്സ്](#radius-templates) - * [Markaby ടെംപ്ലേറ്റ്സ്](#markaby-templates) - * [RABL ടെംപ്ലേറ്റ്സ്](#rabl-templates) - * [Slim ടെംപ്ലേറ്റ്സ്](#slim-templates) - * [Creole ടെംപ്ലേറ്റ്സ്](#creole-templates) - * [MediaWiki ടെംപ്ലേറ്റ്സ്](#mediawiki-templates) - * [CoffeeScript ടെംപ്ലേറ്റ്സ്](#coffeescript-templates) - * [Yajl ടെംപ്ലേറ്റ്സ്](#yajl-templates) - * [WLang ടെംപ്ലേറ്റ്സ്](#wlang-templates) - * [വാരിയബിൾസിനെ എടുക്കാൻ സഹായിക്കുന്ന ടെംപ്ലേറ്റ്സ്](#accessing-variables-in-templates) - * [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts) - * [Inline ടെംപ്ലേറ്റ്സ്](#inline-templates) - * [പേരുള്ള ടെംപ്ലേറ്റ്സ്](#named-templates) - * [Associating File Extensions](#associating-file-extensions) - * [നിങ്ങളുടെ സ്വന്തം ടെമ്പ്ലേറ്റ് എങ്ങിനെ ഉണ്ടാക്കാൻ സഹായിക്കുന്നു ](#adding-your-own-template-engine) - * [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup) - * [Filters](#filters) - * [Helpers](#helpers) - * [സെഷൻസ് ഉപയോഗിക്കുന്നു ](#using-sessions) - * [രഹസ്യമായി സെഷൻസ് സംരക്ഷിക്കുക ](#session-secret-security) - * [Session Config](#session-config) - * [സെഷൻ middlewate തിരഞ്ഞെടുക്കുക](#choosing-your-own-session-middleware) - * [ഹാൾട് ചെയ്യുക ](#halting) - * [Passing](#passing) - * [മറ്റൊരു റൂട്ട് ട്രിഗർ ചെയ്യുക ](#triggering-another-route) - * [Setting Body, Status Code and Headers](#setting-body-status-code-and-headers) - * [Streaming Responses](#streaming-responses) - * [Logging](#logging) - * [Mime Types](#mime-types) - * [ URLs Generating](#generating-urls) - * [Browser റീഡിറക്ട് ചെയ്യുക ](#browser-redirect) - * [Cache Control](#cache-control) - * [Sending Files](#sending-files) - * [Accessing the Request Object](#accessing-the-request-object) - * [അറ്റാച്മെന്റ്സ് ](#attachments) - * [ദിവസവും സമയവും ഡീൽ ചെയ്യക ](#dealing-with-date-and-time) - * [Template Files നോക്കുന്നു ](#looking-up-template-files) - * [Configuration](#configuration) - * [Configuring attack protection](#configuring-attack-protection) - * [Available Settings](#available-settings) - * [Environments](#environments) - * [ കൈകാര്യം ചെയ്യുക ](#error-handling) - * [കണ്ടെത്താൻ ആയില്ല ](#not-found) - * [തെറ്റ്](#error) - * [Rack Middleware](#rack-middleware) - * [ടെസ്റ്റ് ചെയ്യുക ](#testing) - * [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) - * [Modular vs. Classic Style](#modular-vs-classic-style) - * [Serving a Modular Application](#serving-a-modular-application) - * [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) - * [When to use a config.ru?](#when-to-use-a-configru) - * [Using Sinatra as Middleware](#using-sinatra-as-middleware) - * [Dynamic Application Creation](#dynamic-application-creation) - * [Scopes and Binding](#scopes-and-binding) - * [Application/Class Scope](#applicationclass-scope) - * [Request/Instance Scope](#requestinstance-scope) - * [Delegation Scope](#delegation-scope) - * [Command Line](#command-line) - * [Multi-threading](#multi-threading) - * [ആവശ്യങ്ങൾ ](#requirement) - * [The Bleeding Edge](#the-bleeding-edge) - * [With Bundler](#with-bundler) - * [വേർഷൻ ചെയ്യുക ](#versioning) - * [Further Reading](#further-reading) +- [സിനാട്ര](#സിനാട്ര) + - [ഉള്ളടക്കം](#ഉള്ളടക്കം) + - [Routes](#routes) + - [കണ്ടിഷൻസ്](#കണ്ടിഷൻസ്) + - [Return Values](#return-values) + - [Custom Route Matchers](#custom-route-matchers) + - [Static Files](#static-files) + - [Views / Templates](#views--templates) + - [Literal Templates](#literal-templates) + - [Available Template Languages](#available-template-languages) + - [Haml Templates](#haml-templates) + - [Erb Templates](#erb-templates) + - [Builder Templates](#builder-templates) + - [Nokogiri Templates](#nokogiri-templates) + - [Liquid Templates](#liquid-templates) + - [Markdown Templates](#markdown-templates) + - [RDoc Templates](#rdoc-templates) + - [AsciiDoc Templates](#asciidoc-templates) + - [Radius Templates](#radius-templates) + - [Markaby Templates](#markaby-templates) + - [RABL Templates](#rabl-templates) + - [Slim Templates](#slim-templates) + - [Creole Templates](#creole-templates) + - [MediaWiki Templates](#mediawiki-templates) + - [CoffeeScript Templates](#coffeescript-templates) + - [Yajl Templates](#yajl-templates) + - [Accessing Variables in Templates](#accessing-variables-in-templates) + - [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts) + - [Inline Templates](#inline-templates) + - [Named Templates](#named-templates) + - [Associating File Extensions](#associating-file-extensions) + - [Adding Your Own Template Engine](#adding-your-own-template-engine) + - [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup) + - [Filters](#filters) + - [Helpers](#helpers) + - [Using Sessions](#using-sessions) + - [Session Secret Security](#session-secret-security) + - [Session Config](#session-config) + - [Choosing Your Own Session Middleware](#choosing-your-own-session-middleware) + - [Halting](#halting) + - [Passing](#passing) + - [Triggering Another Route](#triggering-another-route) + - [Setting Body, Status Code and Headers](#setting-body-status-code-and-headers) + - [Streaming Responses](#streaming-responses) + - [Logging](#logging) + - [Mime Types](#mime-types) + - [Generating URLs](#generating-urls) + - [Browser Redirect](#browser-redirect) + - [Cache Control](#cache-control) + - [Sending Files](#sending-files) + - [Accessing the Request Object](#accessing-the-request-object) + - [Attachments](#attachments) + - [Dealing with Date and Time](#dealing-with-date-and-time) + - [Looking Up Template Files](#looking-up-template-files) + - [Configuration](#configuration) + - [Configuring attack protection](#configuring-attack-protection) + - [Available Settings](#available-settings) + - [Environments](#environments) + - [Error Handling](#error-handling) + - [Not Found](#not-found) + - [Error](#error) + - [Rack Middleware](#rack-middleware) + - [Testing](#testing) + - [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) + - [Modular vs. Classic Style](#modular-vs-classic-style) + - [Serving a Modular Application](#serving-a-modular-application) + - [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) + - [When to use a config.ru?](#when-to-use-a-configru) + - [Using Sinatra as Middleware](#using-sinatra-as-middleware) + - [Dynamic Application Creation](#dynamic-application-creation) + - [Scopes and Binding](#scopes-and-binding) + - [Application/Class Scope](#applicationclass-scope) + - [Request/Instance Scope](#requestinstance-scope) + - [Delegation Scope](#delegation-scope) + - [Command Line](#command-line) + - [Multi-threading](#multi-threading) + - [Requirement](#requirement) + - [The Bleeding Edge](#the-bleeding-edge) + - [With Bundler](#with-bundler) + - [Versioning](#versioning) + - [Further Reading](#further-reading) ## Routes @@ -964,27 +963,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang Templates - - - - - - - - - - - - - - -
DependencyWLang
File Extension.wlang
Examplewlang :index, :locals => { :key => 'value' }
- -Since calling ruby methods is not idiomatic in WLang, you almost always -want to pass locals to it. Layouts written in WLang and `yield` are -supported, though. - ### Accessing Variables in Templates Templates are evaluated within the same context as route handlers. Instance @@ -1043,7 +1021,7 @@ end ``` Currently, the following rendering methods accept a block: `erb`, `haml`, -`liquid`, `slim `, `wlang`. Also the general `render` method accepts a block. +`liquid`, `slim `. Also the general `render` method accepts a block. ### Inline Templates diff --git a/README.md b/README.md index a38c108c..abeeeca0 100644 --- a/README.md +++ b/README.md @@ -40,88 +40,87 @@ pick up if available. ## Table of Contents -* [Sinatra](#sinatra) - * [Table of Contents](#table-of-contents) - * [Routes](#routes) - * [Conditions](#conditions) - * [Return Values](#return-values) - * [Custom Route Matchers](#custom-route-matchers) - * [Static Files](#static-files) - * [Views / Templates](#views--templates) - * [Literal Templates](#literal-templates) - * [Available Template Languages](#available-template-languages) - * [Haml Templates](#haml-templates) - * [Erb Templates](#erb-templates) - * [Builder Templates](#builder-templates) - * [Nokogiri Templates](#nokogiri-templates) - * [Liquid Templates](#liquid-templates) - * [Markdown Templates](#markdown-templates) - * [RDoc Templates](#rdoc-templates) - * [AsciiDoc Templates](#asciidoc-templates) - * [Radius Templates](#radius-templates) - * [Markaby Templates](#markaby-templates) - * [RABL Templates](#rabl-templates) - * [Slim Templates](#slim-templates) - * [Creole Templates](#creole-templates) - * [MediaWiki Templates](#mediawiki-templates) - * [CoffeeScript Templates](#coffeescript-templates) - * [Yajl Templates](#yajl-templates) - * [WLang Templates](#wlang-templates) - * [Accessing Variables in Templates](#accessing-variables-in-templates) - * [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts) - * [Inline Templates](#inline-templates) - * [Named Templates](#named-templates) - * [Associating File Extensions](#associating-file-extensions) - * [Adding Your Own Template Engine](#adding-your-own-template-engine) - * [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup) - * [Filters](#filters) - * [Helpers](#helpers) - * [Using Sessions](#using-sessions) - * [Session Secret Security](#session-secret-security) - * [Session Config](#session-config) - * [Choosing Your Own Session Middleware](#choosing-your-own-session-middleware) - * [Halting](#halting) - * [Passing](#passing) - * [Triggering Another Route](#triggering-another-route) - * [Setting Body, Status Code and Headers](#setting-body-status-code-and-headers) - * [Streaming Responses](#streaming-responses) - * [Logging](#logging) - * [Mime Types](#mime-types) - * [Generating URLs](#generating-urls) - * [Browser Redirect](#browser-redirect) - * [Cache Control](#cache-control) - * [Sending Files](#sending-files) - * [Accessing the Request Object](#accessing-the-request-object) - * [Attachments](#attachments) - * [Dealing with Date and Time](#dealing-with-date-and-time) - * [Looking Up Template Files](#looking-up-template-files) - * [Configuration](#configuration) - * [Configuring attack protection](#configuring-attack-protection) - * [Available Settings](#available-settings) - * [Environments](#environments) - * [Error Handling](#error-handling) - * [Not Found](#not-found) - * [Error](#error) - * [Rack Middleware](#rack-middleware) - * [Testing](#testing) - * [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) - * [Modular vs. Classic Style](#modular-vs-classic-style) - * [Serving a Modular Application](#serving-a-modular-application) - * [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) - * [When to use a config.ru?](#when-to-use-a-configru) - * [Using Sinatra as Middleware](#using-sinatra-as-middleware) - * [Dynamic Application Creation](#dynamic-application-creation) - * [Scopes and Binding](#scopes-and-binding) - * [Application/Class Scope](#applicationclass-scope) - * [Request/Instance Scope](#requestinstance-scope) - * [Delegation Scope](#delegation-scope) - * [Command Line](#command-line) - * [Multi-threading](#multi-threading) - * [Requirement](#requirement) - * [The Bleeding Edge](#the-bleeding-edge) - * [With Bundler](#with-bundler) - * [Versioning](#versioning) - * [Further Reading](#further-reading) +- [Sinatra](#sinatra) + - [Table of Contents](#table-of-contents) + - [Routes](#routes) + - [Conditions](#conditions) + - [Return Values](#return-values) + - [Custom Route Matchers](#custom-route-matchers) + - [Static Files](#static-files) + - [Views / Templates](#views--templates) + - [Literal Templates](#literal-templates) + - [Available Template Languages](#available-template-languages) + - [Haml Templates](#haml-templates) + - [Erb Templates](#erb-templates) + - [Builder Templates](#builder-templates) + - [Nokogiri Templates](#nokogiri-templates) + - [Liquid Templates](#liquid-templates) + - [Markdown Templates](#markdown-templates) + - [RDoc Templates](#rdoc-templates) + - [AsciiDoc Templates](#asciidoc-templates) + - [Radius Templates](#radius-templates) + - [Markaby Templates](#markaby-templates) + - [RABL Templates](#rabl-templates) + - [Slim Templates](#slim-templates) + - [Creole Templates](#creole-templates) + - [MediaWiki Templates](#mediawiki-templates) + - [CoffeeScript Templates](#coffeescript-templates) + - [Yajl Templates](#yajl-templates) + - [Accessing Variables in Templates](#accessing-variables-in-templates) + - [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts) + - [Inline Templates](#inline-templates) + - [Named Templates](#named-templates) + - [Associating File Extensions](#associating-file-extensions) + - [Adding Your Own Template Engine](#adding-your-own-template-engine) + - [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup) + - [Filters](#filters) + - [Helpers](#helpers) + - [Using Sessions](#using-sessions) + - [Session Secret Security](#session-secret-security) + - [Session Config](#session-config) + - [Choosing Your Own Session Middleware](#choosing-your-own-session-middleware) + - [Halting](#halting) + - [Passing](#passing) + - [Triggering Another Route](#triggering-another-route) + - [Setting Body, Status Code, and Headers](#setting-body-status-code-and-headers) + - [Streaming Responses](#streaming-responses) + - [Logging](#logging) + - [Mime Types](#mime-types) + - [Generating URLs](#generating-urls) + - [Browser Redirect](#browser-redirect) + - [Cache Control](#cache-control) + - [Sending Files](#sending-files) + - [Accessing the Request Object](#accessing-the-request-object) + - [Attachments](#attachments) + - [Dealing with Date and Time](#dealing-with-date-and-time) + - [Looking Up Template Files](#looking-up-template-files) + - [Configuration](#configuration) + - [Configuring attack protection](#configuring-attack-protection) + - [Available Settings](#available-settings) + - [Environments](#environments) + - [Error Handling](#error-handling) + - [Not Found](#not-found) + - [Error](#error) + - [Rack Middleware](#rack-middleware) + - [Testing](#testing) + - [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) + - [Modular vs. Classic Style](#modular-vs-classic-style) + - [Serving a Modular Application](#serving-a-modular-application) + - [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) + - [When to use a config.ru?](#when-to-use-a-configru) + - [Using Sinatra as Middleware](#using-sinatra-as-middleware) + - [Dynamic Application Creation](#dynamic-application-creation) + - [Scopes and Binding](#scopes-and-binding) + - [Application/Class Scope](#applicationclass-scope) + - [Request/Instance Scope](#requestinstance-scope) + - [Delegation Scope](#delegation-scope) + - [Command Line](#command-line) + - [Multi-threading](#multi-threading) + - [Requirement](#requirement) + - [The Bleeding Edge](#the-bleeding-edge) + - [With Bundler](#with-bundler) + - [Versioning](#versioning) + - [Further Reading](#further-reading) ## Routes @@ -991,27 +990,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang Templates - - - - - - - - - - - - - - -
DependencyWLang
File Extension.wlang
Examplewlang :index, :locals => { :key => 'value' }
- -Since calling ruby methods is not idiomatic in WLang, you almost always -want to pass locals to it. Layouts written in WLang and `yield` are -supported, though. - ### Accessing Variables in Templates Templates are evaluated within the same context as route handlers. Instance @@ -1070,7 +1048,7 @@ end ``` Currently, the following rendering methods accept a block: `erb`, `haml`, -`liquid`, `slim `, `wlang`. Also, the general `render` method accepts a block. +`liquid`, `slim `. Also, the general `render` method accepts a block. ### Inline Templates diff --git a/README.pl.md b/README.pl.md index 9b86ff3f..169cff8f 100644 --- a/README.pl.md +++ b/README.pl.md @@ -36,90 +36,88 @@ którego Sinatra użyje jeżeli będzie dostępny. ## Spis treści -* [Sinatra](#sinatra) - * [Spis treści](#table-of-contents) - * [Scieżki](#routes) - * [Warunki](#conditions) - * [Zwracane wartości](#return-values) - * [Niestandardowe dopasowanie scieżki](#custom-route-matchers) - * [Pliki statyczne](#static-files) - * [Widoki / Szablony](#views--templates) - * [Szablony](#literal-templates) - * [Dostępne języki szablonu](#available-template-languages) - * [Szablony Haml](#haml-templates) - * [Szblony Erb](#erb-templates) - * [Szblony Builder](#builder-templates) - * [Szablony Nokogiri](#nokogiri-templates) - * [Szablony Less](#less-templates) - * [Szablony Liquid](#liquid-templates) - * [Szablony Markdown](#markdown-templates) - * [Szablony RDoc](#rdoc-templates) - * [Szablony AsciiDoc](#asciidoc-templates) - * [Szablony Radius](#radius-templates) - * [Szablony Markaby](#markaby-templates) - * [Szablony RABL](#rabl-templates) - * [Szablony Slim](#slim-templates) - * [Szablony Creole](#creole-templates) - * [Szablony MediaWiki](#mediawiki-templates) - * [Szablony CoffeeScript](#coffeescript-templates) - * [Szablony Stylus](#stylus-templates) - * [Szablony Yajl](#yajl-templates) - * [Szablony WLang](#wlang-templates) - * [Dostępność zmiennych w szblonach](#accessing-variables-in-templates) - * [Szablony z `yield` i szablony zagnieżdżone](#templates-with-yield-and-nested-layouts) - * [Szablony liniowe](#inline-templates) - * [Szablony nazwane](#named-templates) - * [Kojarzenie rozszerzen plików](#associating-file-extensions) - * [Dodawnie własngo silnika szablonu](#adding-your-own-template-engine) - * [Korzystanie z niestandardowej logiki do wyszukiwania szablonu](#using-custom-logic-for-template-lookup) - * [Filtry](#filters) - * [Pomocnicy](#helpers) - * [Używanie sesji](#using-sessions) - * [Sekretne zabezpieczenia sesji](#session-secret-security) - * [Konfiguracja sesji](#session-config) - * [Wybór własnego oprogramowania Middleware](#choosing-your-own-session-middleware) - * [Halting](#halting) - * [Passing](#passing) - * [Triggering Another Route](#triggering-another-route) - * [Setting Body, Status Code and Headers](#setting-body-status-code-and-headers) - * [Streaming Responses](#streaming-responses) - * [Logging](#logging) - * [Mime Types](#mime-types) - * [Generating URLs](#generating-urls) - * [Browser Redirect](#browser-redirect) - * [Cache Control](#cache-control) - * [Sending Files](#sending-files) - * [Accessing the Request Object](#accessing-the-request-object) - * [Attachments](#attachments) - * [Dealing with Date and Time](#dealing-with-date-and-time) - * [Looking Up Template Files](#looking-up-template-files) - * [Configuration](#configuration) - * [Configuring attack protection](#configuring-attack-protection) - * [Available Settings](#available-settings) - * [Environments](#environments) - * [Error Handling](#error-handling) - * [Not Found](#not-found) - * [Error](#error) - * [Rack Middleware](#rack-middleware) - * [Testing](#testing) - * [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) - * [Modular vs. Classic Style](#modular-vs-classic-style) - * [Serving a Modular Application](#serving-a-modular-application) - * [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) - * [When to use a config.ru?](#when-to-use-a-configru) - * [Using Sinatra as Middleware](#using-sinatra-as-middleware) - * [Dynamic Application Creation](#dynamic-application-creation) - * [Scopes and Binding](#scopes-and-binding) - * [Application/Class Scope](#applicationclass-scope) - * [Request/Instance Scope](#requestinstance-scope) - * [Delegation Scope](#delegation-scope) - * [Command Line](#command-line) - * [Multi-threading](#multi-threading) - * [Requirement](#requirement) - * [The Bleeding Edge](#the-bleeding-edge) - * [With Bundler](#with-bundler) - * [Versioning](#versioning) - * [Further Reading](#further-reading) +- [Sinatra](#sinatra) + - [Spis treści](#spis-treści) + - [Scieżki](#scieżki) + - [Conditions](#conditions) + - [Return Values](#return-values) + - [Custom Route Matchers](#custom-route-matchers) + - [Static Files](#static-files) + - [Views / Templates](#views--templates) + - [Literal Templates](#literal-templates) + - [Available Template Languages](#available-template-languages) + - [Haml Templates](#haml-templates) + - [Erb Templates](#erb-templates) + - [Builder Templates](#builder-templates) + - [Nokogiri Templates](#nokogiri-templates) + - [Liquid Templates](#liquid-templates) + - [Markdown Templates](#markdown-templates) + - [RDoc Templates](#rdoc-templates) + - [AsciiDoc Templates](#asciidoc-templates) + - [Radius Templates](#radius-templates) + - [Markaby Templates](#markaby-templates) + - [RABL Templates](#rabl-templates) + - [Slim Templates](#slim-templates) + - [Creole Templates](#creole-templates) + - [MediaWiki Templates](#mediawiki-templates) + - [CoffeeScript Templates](#coffeescript-templates) + - [Stylus Templates](#stylus-templates) + - [Yajl Templates](#yajl-templates) + - [Accessing Variables in Templates](#accessing-variables-in-templates) + - [Templates with `yield` and nested layouts](#templates-with-yield-and-nested-layouts) + - [Inline Templates](#inline-templates) + - [Named Templates](#named-templates) + - [Associating File Extensions](#associating-file-extensions) + - [Adding Your Own Template Engine](#adding-your-own-template-engine) + - [Using Custom Logic for Template Lookup](#using-custom-logic-for-template-lookup) + - [Filters](#filters) + - [Helpers](#helpers) + - [Using Sessions](#using-sessions) + - [Session Secret Security](#session-secret-security) + - [Session Config](#session-config) + - [Choosing Your Own Session Middleware](#choosing-your-own-session-middleware) + - [Halting](#halting) + - [Passing](#passing) + - [Triggering Another Route](#triggering-another-route) + - [Setting Body, Status Code, and Headers](#setting-body-status-code-and-headers) + - [Streaming Responses](#streaming-responses) + - [Logging](#logging) + - [Mime Types](#mime-types) + - [Generating URLs](#generating-urls) + - [Browser Redirect](#browser-redirect) + - [Cache Control](#cache-control) + - [Sending Files](#sending-files) + - [Accessing the Request Object](#accessing-the-request-object) + - [Attachments](#attachments) + - [Dealing with Date and Time](#dealing-with-date-and-time) + - [Looking Up Template Files](#looking-up-template-files) + - [Configuration](#configuration) + - [Configuring attack protection](#configuring-attack-protection) + - [Available Settings](#available-settings) + - [Environments](#environments) + - [Error Handling](#error-handling) + - [Not Found](#not-found) + - [Error](#error) + - [Rack Middleware](#rack-middleware) + - [Testing](#testing) + - [Sinatra::Base - Middleware, Libraries, and Modular Apps](#sinatrabase---middleware-libraries-and-modular-apps) + - [Modular vs. Classic Style](#modular-vs-classic-style) + - [Serving a Modular Application](#serving-a-modular-application) + - [Using a Classic Style Application with a config.ru](#using-a-classic-style-application-with-a-configru) + - [When to use a config.ru?](#when-to-use-a-configru) + - [Using Sinatra as Middleware](#using-sinatra-as-middleware) + - [Dynamic Application Creation](#dynamic-application-creation) + - [Scopes and Binding](#scopes-and-binding) + - [Application/Class Scope](#applicationclass-scope) + - [Request/Instance Scope](#requestinstance-scope) + - [Delegation Scope](#delegation-scope) + - [Command Line](#command-line) + - [Wielowątkowość](#wielowątkowość) + - [Wymagania](#wymagania) + - [The Bleeding Edge](#the-bleeding-edge) + - [With Bundler](#with-bundler) + - [Versioning](#versioning) + - [Further Reading](#further-reading) ## Scieżki @@ -1027,27 +1025,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang Templates - - - - - - - - - - - - - - -
DependencyWLang
File Extension.wlang
Examplewlang :index, :locals => { :key => 'value' }
- -Since calling ruby methods is not idiomatic in WLang, you almost always -want to pass locals to it. Layouts written in WLang and `yield` are -supported, though. - ### Accessing Variables in Templates Templates are evaluated within the same context as route handlers. Instance @@ -1106,7 +1083,7 @@ end ``` Currently, the following rendering methods accept a block: `erb`, `haml`, -`liquid`, `slim `, `wlang`. Also, the general `render` method accepts a block. +`liquid`, `slim `. Also, the general `render` method accepts a block. ### Inline Templates diff --git a/README.pt-br.md b/README.pt-br.md index 7de88be2..97fad264 100644 --- a/README.pt-br.md +++ b/README.pt-br.md @@ -48,88 +48,99 @@ disponível, o Sinatra irá utilizá-la. ## Conteúdo -* [Sinatra](#sinatra) - * [Conteúdo](#conteúdo) - * [Rotas](#rotas) - * [Condições](#condições) - * [Valores Retornados](#valores-retornados) - * [Validadores de rota personalizados](#validadores-de-rota-personalizados) - * [Arquivos estáticos](#arquivos-estáticos) - * [Views / Templates](#views--templates) - * [Literal Templates](#literal-templates) - * [Linguagens de template disponíveis](#linguagens-de-template-disponíveis) - * [Haml Templates](#haml-templates) - * [Erb Templates](#erb-templates) - * [Builder Templates](#builder-templates) - * [Nokogiri Templates](#nokogiri-templates) - * [Liquid Templates](#liquid-templates) - * [Markdown Templates](#markdown-templates) - * [RDoc Templates](#rdoc-templates) - * [AsciiDoc Templates](#asciidoc-templates) - * [Radius Templates](#radius-templates) - * [Markaby Templates](#markaby-templates) - * [RABL Templates](#rabl-templates) - * [Slim Templates](#slim-templates) - * [Creole Templates](#creole-templates) - * [MediaWiki Templates](#mediawiki-templates) - * [CoffeeScript Templates](#coffeescript-templates) - * [Yajl Templates](#yajl-templates) - * [WLang Templates](#wlang-templates) - * [Acessando Variáveis nos Templates](#acessando-variáveis-nos-templates) - * [Templates com `yield` e layouts aninhados](#templates-com-yield-e-layouts-aninhados) - * [Templates Inline](#templates-inline) - * [Templates Nomeados](#templates-nomeados) - * [Associando extensões de arquivos](#associando-extensões-de-arquivos) - * [Adicionando seu Próprio Engine de Template](#adicionando-seu-próprio-engine-de-template) - * [Customizando lógica para encontrar templates](#customizando-lógica-para-encontrar-templates) - * [Filtros](#filtros) - * [Helpers](#helpers) - * [Utilizando Sessões](#utilizando-sessões) - * [Segurança Secreta da Sessão](#segurança-secreta-da-sessão) - * [Configuração da Sessão](#configuração-da-sessão) - * [Escolhande Seu Próprio Middleware de Sessão](#escolhendo-middleware-de-sessão) - * [Halting](#halting) - * [Passing](#passing) - * [Desencadeando Outra Rota](#desencadeando-outra-rota) - * [Definindo Corpo, Código de Status e Cabeçalhos](#definindo-corpo-codigo-de-status-cabeçalhos) - * [Transmitindo Respostas](#transmitindo-respostas) - * [Usando Logs](#usando-logs) - * [Tipos Mime](#tipos-mime) - * [Gerando URLS](#gerando-urls) - * [Redirecionamento do Navegador](#redirecionamento-do-navagador) - * [Controle de Cache](#controle-de-cache) - * [Enviando Arquivos](#enviando-arquivos) - * [Acessando o Objeto de Requisição](#acessando-o-objeto-de-requisição) - * [Anexos](#anexos) - * [Trabalhando com Data e Hora](#trabalhando-com-data-e-hora) - * [Procurando Arquivos de Modelo](#procurando-arquivos-de-modelo) - * [Configuração](#configuração) - * [Configurando proteção a ataques](#configurando-proteção-a-ataques) - * [Configurações Disponíveis](#configurações-disponíveis) - * [Ambientes](#ambientes) - * [Tratamento de Erros](#tratamento-de-erros) - * [Não Encontrado](#não-encontrado) - * [Erro](#erro) - * [Rack Middleware](#rack-middleware) - * [Testando](#testando) - * [Sinatra::Base - Middleware, Bibliotecas e Aplicações Modulares](#sinatrabase-middleware-bibliotecas-e-aplicações-modulares) - * [Modular vs. Estilo Clássico](#modular-vs-estilo-clássico) - * [Servindo uma Aplicação Modular](#servindo-uma-aplicação-modular) - * [Usando uma Aplicação de Estilo Clássico com um config.ru](#usando-uma-aplicação-de-estilo-clássico-com-um-configru) - * [Quando usar um config.ru?](#quando-usar-um-configru) - * [Usando Sinatra como Middleware](#usando-sinatra-como-middleware) - * [Criação de Aplicações Dinâmicas](#criação-de-aplicações-dinamicas) - * [Escopos e Ligação](#escopos-e-ligação) - * [Escopo de Aplicação/Classe](#escopo-de-aplicação-classe) - * [Escopo de Instância/Requisição](#escopo-de-instância-requisição) - * [Escopo de Delegação](#escopo-de-delegação) - * [Linha de comando](#linha-de-comando) - * [Multi-threading](#multi-threading) - * [Requerimentos](#requerimentos) - * [A última versão](#a-última-versão) - * [Com Bundler](#com-bundler) - * [Versionando](#versionando) - * [Mais](#mais) +- [Sinatra](#sinatra) + - [Conteúdo](#conteúdo) + - [Rotas](#rotas) + - [Condições](#condições) + - [Retorno de valores](#retorno-de-valores) + - [Validadores de Rota Personalizados](#validadores-de-rota-personalizados) + - [Arquivos estáticos](#arquivos-estáticos) + - [Views / Templates](#views--templates) + - [Literal Templates](#literal-templates) + - [Linguagens de template disponíveis](#linguagens-de-template-disponíveis) + - [Haml Templates](#haml-templates) + - [Erb Templates](#erb-templates) + - [Builder Templates](#builder-templates) + - [Nokogiri Templates](#nokogiri-templates) + - [Liquid Templates](#liquid-templates) + - [Markdown Templates](#markdown-templates) + - [RDoc Templates](#rdoc-templates) + - [AsciiDoc Templates](#asciidoc-templates) + - [Radius Templates](#radius-templates) + - [Markaby Templates](#markaby-templates) + - [RABL Templates](#rabl-templates) + - [Slim Templates](#slim-templates) + - [Creole Templates](#creole-templates) + - [MediaWiki Templates](#mediawiki-templates) + - [CoffeeScript Templates](#coffeescript-templates) + - [Yajl Templates](#yajl-templates) + - [Acessando Variáveis nos Templates](#acessando-variáveis-nos-templates) + - [Templates com `yield` e layouts aninhados](#templates-com-yield-e-layouts-aninhados) + - [Templates Inline](#templates-inline) + - [Templates Nomeados](#templates-nomeados) + - [Associando Extensões de Arquivos](#associando-extensões-de-arquivos) + - [Adicionando seu Próprio Engine de Template](#adicionando-seu-próprio-engine-de-template) + - [Customizando Lógica para Encontrar Templates](#customizando-lógica-para-encontrar-templates) + - [Filtros](#filtros) + - [Helpers](#helpers) + - [Utilizando Sessões](#utilizando-sessões) + - [Segredo Seguro da Sessão](#segredo-seguro-da-sessão) + - [Configuração de Sessão](#configuração-de-sessão) + - [Escolhendo Seu Próprio Middleware de Sessão](#escolhendo-seu-próprio-middleware-de-sessão) + - [Parando](#parando) + - [Passing](#passing) + - [Desencadeando Outra Rota](#desencadeando-outra-rota) + - [Definindo Corpo, Código de Status e Cabeçalhos](#definindo-corpo-código-de-status-e-cabeçalhos) + - [Transmitindo Respostas](#transmitindo-respostas) + - [Usando Logs](#usando-logs) + - [Tipos Mime](#tipos-mime) + - [Gerando URLs](#gerando-urls) + - [Redirecionamento do Browser](#redirecionamento-do-browser) + - [Controle de Cache](#controle-de-cache) + - [Enviando Arquivos](#enviando-arquivos) + - [Acessando o Objeto da Requisição](#acessando-o-objeto-da-requisição) + - [Anexos](#anexos) + - [Trabalhando com Data e Hora](#trabalhando-com-data-e-hora) + - [Pesquisando por Arquivos de Template](#pesquisando-por-arquivos-de-template) + - [Configuração](#configuração) + - [Transmitindo Respostas](#transmitindo-respostas-1) + - [Usando Logs](#usando-logs-1) + - [Tipos Mime](#tipos-mime-1) + - [Gerando URLs](#gerando-urls-1) + - [Redirecionamento do Browser](#redirecionamento-do-browser-1) + - [Controle de Cache](#controle-de-cache-1) + - [Enviando Arquivos](#enviando-arquivos-1) + - [Acessando o Objeto da Requisção](#acessando-o-objeto-da-requisção) + - [Anexos](#anexos-1) + - [Trabalhando com Data e Hora](#trabalhando-com-data-e-hora-1) + - [Pesquisando por Arquivos de Template](#pesquisando-por-arquivos-de-template-1) + - [Configuração](#configuração-1) + - [Configurando proteção a ataques](#configurando-proteção-a-ataques) + - [Configurações Disponíveis](#configurações-disponíveis) + - [Ambientes](#ambientes) + - [Tratamento de Erros](#tratamento-de-erros) + - [Não Encontrado](#não-encontrado) + - [Erro](#erro) + - [Rack Middleware](#rack-middleware) + - [Testando](#testando) + - [Sinatra::Base - Middleware, Bibliotecas e aplicativos modulares](#sinatrabase---middleware-bibliotecas-e-aplicativos-modulares) + - [Estilo Clássico vs. Modular](#estilo-clássico-vs-modular) + - [Servindo uma Aplicação Modular:](#servindo-uma-aplicação-modular) + - [Usando uma Aplicação de Estilo Clássico com um config.ru:](#usando-uma-aplicação-de-estilo-clássico-com-um-configru) + - [Quando usar um config.ru?](#quando-usar-um-configru) + - [Usando Sinatra como Middleware](#usando-sinatra-como-middleware) + - [Criação de Aplicações Dinâmicas](#criação-de-aplicações-dinâmicas) +- [Escopos e Ligação](#escopos-e-ligação) + - [Escopo de Aplicação/Classe](#escopo-de-aplicaçãoclasse) + - [Escopo de Instância/Requisição](#escopo-de-instânciarequisição) + - [Escopo de Delegação](#escopo-de-delegação) + - [Linha de Comando](#linha-de-comando) + - [Multi-threading](#multi-threading) + - [Requerimentos](#requerimentos) + - [A última versão](#a-última-versão) + - [Com Bundler](#com-bundler) + - [Versionando](#versionando) + - [Mais](#mais) ## Rotas @@ -1034,29 +1045,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang Templates - - - - - - - - - - - - - - -
Dependência - WLang -
Extensão do Arquivo.wlang
Exemplowlang :index, :locals => { :key => 'value' }
- -Já que você não pode chamar o Ruby (exceto pelo método -`yield`) pelo template WLang, -você quase sempre precisará passar o `locals` para ele. - ## Acessando Variáveis nos Templates Templates são avaliados dentro do mesmo contexto como manipuladores de @@ -1116,7 +1104,7 @@ end ``` Atualmente os métodos listados aceitam blocos: `erb`, `haml`, -`liquid`, `slim `, `wlang`. E o método geral `render` também aceita blocos. +`liquid`, `slim `. E o método geral `render` também aceita blocos. ### Templates Inline diff --git a/README.ru.md b/README.ru.md index 2e46c260..13bfedce 100644 --- a/README.ru.md +++ b/README.ru.md @@ -66,7 +66,6 @@ ruby myapp.rb - [MediaWiki шаблоны](#mediawiki-шаблоны) - [CoffeeScript шаблоны](#coffeescript-шаблоны) - [Yajl шаблоны](#yajl-шаблоны) - - [WLang шаблоны](#wlang-шаблоны) - [Доступ к переменным в шаблонах](#доступ-к-переменным-в-шаблонах) - [Шаблоны с `yield` и вложенные лэйауты](#шаблоны-с-yield-и-вложенные-лэйауты) - [Включённые шаблоны](#включённые-шаблоны) @@ -996,27 +995,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang шаблоны - - - - - - - - - - - - - - -
ЗависимостиWLang
Расширения файлов.wlang
Примерwlang :index, :locals => { :key => 'value' }
- -Так как в WLang шаблонах невозможно вызывать методы из Ruby напрямую (за -исключением `yield`), то вы почти всегда будете передавать в шаблон локальные -переменные. Лэйауты также могут быть описаны при помощи WLang. - ### Доступ к переменным в шаблонах Шаблоны интерпретируются в том же контексте, что и обработчики маршрутов. @@ -1075,7 +1053,7 @@ end ``` В настоящее время следующие методы шаблонизаторов -принимают блок: `erb`, `haml`, `liquid`, `slim `, `wlang`. Кроме того, +принимают блок: `erb`, `haml`, `liquid`, `slim `. Кроме того, общий метод построения шаблонов `render` также принимает блок. ### Включённые шаблоны diff --git a/README.zh.md b/README.zh.md index 330049b1..fb789cd1 100644 --- a/README.zh.md +++ b/README.zh.md @@ -33,87 +33,93 @@ ruby myapp.rb ## 目录 -* [Sinatra](#sinatra) - * [目录](#目录) - * [路由](#路由) - * [条件](#条件) - * [返回值](#返回值) - * [自定义路由匹配器](#自定义路由匹配器) - * [静态文件](#静态文件) - * [视图 / 模板](#视图--模板) - * [字面量模板](#字面量模板) - * [可选的模板语言](#可选的模板语言) - * [Haml 模板](#haml-模板) - * [Erb 模板](#erb-模板) - * [Builder 模板](#builder-模板) - * [Nokogiri 模板](#nokogiri-模板) - * [Liquid 模板](#liquid-模板) - * [Markdown 模板](#markdown-模板) - * [RDoc 模板](#rdoc-模板) - * [AsciiDoc 模板](#asciidoc-模板) - * [Radius 模板](#radius-模板) - * [Markaby 模板](#markaby-模板) - * [RABL 模板](#rabl-模板) - * [Slim 模板](#slim-模板) - * [Creole 模板](#creole-模板) - * [MediaWiki 模板](#mediawiki-模板) - * [CoffeeScript 模板](#coffeescript-模板) - * [Yajl 模板](#yajl-模板) - * [WLang 模板](#wlang-模板) - * [在模板中访问变量](#在模板中访问变量) - * [带 `yield` 的模板和嵌套布局](#带-yield-的模板和嵌套布局) - * [内联模板](#内联模板) - * [具名模板](#具名模板) - * [关联文件扩展名](#关联文件扩展名) - * [添加自定义模板引擎](#添加自定义模板引擎) - * [自定义模板查找逻辑](#自定义模板查找逻辑) - * [过滤器](#过滤器) - * [辅助方法](#辅助方法) - * [使用会话](#使用会话) - * [中断请求](#中断请求) - * [传递请求](#传递请求) - * [触发另一个路由](#触发另一个路由) - * [设置响应主体、状态码和响应首部](#设置响应主体状态码和响应首部) - * [响应的流式传输](#响应的流式传输) - * [日志](#日志) - * [媒体类型](#媒体类型) - * [生成 URL](#生成-url) - * [浏览器重定向](#浏览器重定向) - * [缓存控制](#缓存控制) - * [发送文件](#发送文件) - * [访问请求对象](#访问请求对象) - * [附件](#附件) - * [处理日期和时间](#处理日期和时间) - * [查找模板文件](#查找模板文件) - * [配置](#配置) - * [配置攻击防护](#配置攻击防护) - * [可选的设置](#可选的设置) - * [环境](#环境) - * [错误处理](#错误处理) - * [未找到](#未找到) - * [错误](#错误) - * [Rack 中间件](#rack-中间件) - * [测试](#测试) - * [Sinatra::Base - 中间件、库和模块化应用](#sinatrabase---中间件库和模块化应用) - * [模块化风格 vs. 经典风格](#模块化风格-vs-经典风格) - * [运行一个模块化应用](#运行一个模块化应用) - * [使用 config.ru 运行经典风格的应用](#使用-configru-运行经典风格的应用) - * [何时使用 config.ru?](#何时使用-configru) - * [把 Sinatra 当作中间件使用](#把-sinatra-当作中间件使用) - * [创建动态应用](#创建动态应用) - * [作用域和绑定](#作用域和绑定) - * [应用/类作用域](#应用类作用域) - * [请求/实例作用域](#请求实例作用域) - * [代理作用域](#代理作用域) - * [命令行](#命令行) - * [多线程](#多线程) - * [必要条件](#必要条件) - * [紧跟前沿](#紧跟前沿) - * [通过 Bundler 使用 Sinatra](#通过-bundler-使用-sinatra) - * [使用自己本地的 Sinatra](#使用自己本地的-sinatra) - * [全局安装](#全局安装) - * [版本](#版本) - * [更多资料](#更多资料) +- [Sinatra](#sinatra) + - [目录](#目录) + - [路由](#路由) + - [条件](#条件) + - [返回值](#返回值) + - [自定义路由匹配器](#自定义路由匹配器) + - [静态文件](#静态文件) + - [视图 / 模板](#视图--模板) + - [字面量模板](#字面量模板) + - [可选的模板语言](#可选的模板语言) + - [Haml 模板](#haml-模板) + - [Erb 模板](#erb-模板) + - [Builder 模板](#builder-模板) + - [Nokogiri 模板](#nokogiri-模板) + - [Liquid 模板](#liquid-模板) + - [Markdown 模板](#markdown-模板) + - [RDoc 模板](#rdoc-模板) + - [AsciiDoc 模板](#asciidoc-模板) + - [Radius 模板](#radius-模板) + - [Markaby 模板](#markaby-模板) + - [RABL 模板](#rabl-模板) + - [Slim 模板](#slim-模板) + - [Creole 模板](#creole-模板) + - [MediaWiki 模板](#mediawiki-模板) + - [CoffeeScript 模板](#coffeescript-模板) + - [Yajl 模板](#yajl-模板) + - [在模板中访问变量](#在模板中访问变量) + - [带 `yield` 的模板和嵌套布局](#带-yield-的模板和嵌套布局) + - [内联模板](#内联模板) + - [具名模板](#具名模板) + - [关联文件扩展名](#关联文件扩展名) + - [添加自定义模板引擎](#添加自定义模板引擎) + - [自定义模板查找逻辑](#自定义模板查找逻辑) + - [过滤器](#过滤器) + - [辅助方法](#辅助方法) + - [使用会话](#使用会话) + - [会话加密](#会话加密) + - [生成密钥](#生成密钥) + - [生成密钥(小贴士)](#生成密钥小贴士) + - [从环境变量使用密钥](#从环境变量使用密钥) + - [应用的密钥配置](#应用的密钥配置) + - [会话配置](#会话配置) + - [选择你自己的会话中间件](#选择你自己的会话中间件) + - [中断请求](#中断请求) + - [传递请求](#传递请求) + - [触发另一个路由](#触发另一个路由) + - [设置响应主体、状态码和响应首部](#设置响应主体状态码和响应首部) + - [响应的流式传输](#响应的流式传输) + - [日志](#日志) + - [媒体类型](#媒体类型) + - [生成 URL](#生成-url) + - [浏览器重定向](#浏览器重定向) + - [缓存控制](#缓存控制) + - [发送文件](#发送文件) + - [访问请求对象](#访问请求对象) + - [附件](#附件) + - [处理日期和时间](#处理日期和时间) + - [查找模板文件](#查找模板文件) + - [配置](#配置) + - [配置攻击防护](#配置攻击防护) + - [可选的设置](#可选的设置) + - [环境](#环境) + - [错误处理](#错误处理) + - [未找到](#未找到) + - [错误](#错误) + - [Rack 中间件](#rack-中间件) + - [测试](#测试) + - [Sinatra::Base - 中间件、库和模块化应用](#sinatrabase---中间件库和模块化应用) + - [模块化风格 vs. 经典风格](#模块化风格-vs-经典风格) + - [运行一个模块化应用](#运行一个模块化应用) + - [使用 config.ru 运行经典风格的应用](#使用-configru-运行经典风格的应用) + - [何时使用 config.ru?](#何时使用-configru) + - [把 Sinatra 当作中间件使用](#把-sinatra-当作中间件使用) + - [创建动态应用](#创建动态应用) + - [作用域和绑定](#作用域和绑定) + - [应用/类作用域](#应用类作用域) + - [请求/实例作用域](#请求实例作用域) + - [代理作用域](#代理作用域) + - [命令行](#命令行) + - [多线程](#多线程) + - [必要条件](#必要条件) + - [紧跟前沿](#紧跟前沿) + - [通过 Bundler 使用 Sinatra](#通过-bundler-使用-sinatra) + - [使用自己本地的 Sinatra](#使用自己本地的-sinatra) + - [全局安装](#全局安装) + - [版本](#版本) + - [更多资料](#更多资料) ## 路由 @@ -913,26 +919,6 @@ var resource = {"foo":"bar","baz":"qux"}; present(resource); ``` -#### WLang 模板 - - - - - - - - - - - - - - -
依赖项WLang
文件扩展名.wlang
例子wlang :index, :locals => { :key => 'value' }
- -因为在 WLang 中调用 Ruby 方法不符合语言习惯,你几乎总是需要传递 locals 给 WLang 木板。 -然而,可以用 WLang 编写布局文件,也可以在 WLang 中使用 `yield` 方法。 - ### 在模板中访问变量 模板的求值发生在路由处理器内部的上下文中。模板可以直接访问路由处理器中设置的实例变量。 @@ -986,7 +972,7 @@ erb :admin_layout, :layout => :main_layout do end ``` -当前,以下的渲染方法接受一个代码块:`erb`、`haml`、`liquid`、`slim ` 和 `wlang`。 +当前,以下的渲染方法接受一个代码块:`erb`、`haml`、`liquid` 和 `slim `。 通用的 `render` 方法也接受。 ### 内联模板