DokuWiki

It's better when it's simple

Herramientas de usuario

Herramientas del sitio


Barra lateral

Esta traducción es más antigua que la página original y podría estar obsoleta. Ver lo que ha cambiado.
Traducciones de esta página?:

Learn about DokuWiki

Advanced Use

Corporate Use

Our Community


Follow us on Facebook, Twitter and other social networks.

Our Privacy Policy

es:plugin:columns

columns plugin

Compatible con DokuWiki

2008-05-05

plugin Ordena la información en columnas

actualizado por última vez en
2008-10-08
Proporciona
Syntax

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar a wrap

Etiquetado con columns

Traducción por: — victor castelan 2008/12/02 00:26

Descripción

Se puede ordenar la información en varias columnas. Los saltos de columna deben ser insertados manualmente. Se utiliza una tabla con un <td> por cada columna. Funciona mejor junto con el plugin s5 de Andreas Gohr.

Síntaxis

Sólo hay que agregar dos lineas enmarcando la información y escribir los saltos de columnas.

El primer parámetro es el ancho de la tabla. Los parámetros siguientes son para las columnas. Si no quiere especificar un valor para la tabla o ancho de columna, usar “-”.

<columns>
información en columna 1

~~NEWCOL~~

información en columna 2

</columns>
<columns 100% 50% - ->

información en columna 1 (50% de ancho)

~~NEWCOL~~

información en columna 2

~~NEWCOL~~

información en columna 3

</columns>

Columns2 Branch

La síntaxis es casi idéntica a la versión original, excepto que para las etiquetas de columnas, deben especificarse con '<>' 1):

<columns 100% 50% - ->

información en columna 1 (50% de ancho)

<newcolumn>

información en columna 2

<newcolumn>

información en columna 3

</columns>

Por defecto, el texto en las columnas es justificado. Esto se puede cambiar agregando asteriscos en cada lado de la especificación del ancho de columna. El asterisco indica lado no justificado del bloque de texto, así que para alinear el texto a la izquierda, agregue un asterisco del lado derecho.

<columns 100% 25% 25%* *-* *->

texto justificado

<newcolumn>

Aligneado a la izquierda

<newcolumn>

Alineado al centro

<newcolumn>

Alineado a la derecha

</columns>

Localización

Las etiquetas pueden ser personalizadas - ver Dokuwiki: administración → configuración.

Idioma Inicio Fin Siguiente columna
English <columns> </columns> ~~NEWCOL~~
German <spalten> </spalten> ~~NEUESPALTE~~
Español <columnas> </columnas> ~~NUEVACOLUMNA~~
$lang['kwcolumns']
$lang['kwnewcol']

Descarga / Instalación

Instalar la versión más reciente con el plugin manager.

2008-10-08 Download Columns2 branch
2008-09-29 Download Columns2 branch
2007-10-22 Download Latest version of the original plugin by Michael Arlt

Código fuente

syntax.php

<?php
/**
 * columns Plugin: Arrange information in mulitple columns
 *
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * @author     Michael Arlt <michael.arlt [at] sk-schwanstetten [dot] de>
 * @version    2007-10-22
 */
 
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../../').'/');
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
require_once(DOKU_PLUGIN.'syntax.php');
 
function td($tdwidth,$css)
{
  if ($tdwidth == "-")
  {
    return '<td style="'.$css.'">';
  }
  else
  {
    return '<td style="width:'.$tdwidth.';'.$css.'">';
  }
}
 
/**
 * All DokuWiki plugins to extend the parser/rendering mechanism
 * need to inherit from this class
 */
class syntax_plugin_columns extends DokuWiki_Syntax_Plugin {
 
    /**
     * function constructor
     */
    function syntax_plugin_columns(){
      // enable direct access to language strings
      $this->setupLocale();
    }
 
    /**
     * return some info
     */
    function getInfo(){
        return array(
            'author' => 'Michael Arlt',
            'email'  => 'michael.arlt@sk-schwanstetten.de',
            'date'   => '2007-10-22',
            'name'   => 'columns Plugin',
            'desc'   => 'Arrange information in multiple columns',
            'url'    => 'http://www.dokuwiki.org/plugin:columns',
        );
    }
 
    /**
     * What kind of syntax are we?
     */
    function getType(){
        return 'formatting';
    }
 
function getPType(){
        return 'normal';
    }
 
    /**
     * What modes are allowed within our mode?
     */
    function getAllowedTypes() {
        return array('substition','protected','disabled','formatting');
    }
 
    /**
     * Where to sort in?
     */
    function getSort(){
        return 1;
    }
 
    function connectTo($mode) {
      $kwcolumns=$this->getConf('kwcolumns');
      if ($kwcolumns=="") { $kwcolumns=$this->lang["kwcolumns"]; };
      $this->Lexer->addSpecialPattern('<'.$kwcolumns.'.*?>.*?</'.$kwcolumns.'>',$mode,'plugin_columns');
    }
 
    /**
     * Handle the match
     */
    function handle($match, $state, $pos, &$handler)
    {
      $kwnewcol=$this->getConf('kwnewcol');
      if ($kwnewcol=="") { $kwnewcol=$this->lang["kwnewcol"]; };
      $kwcolumns=$this->getConf('kwcolumns');
      if ($kwcolumns=="") { $kwcolumns=$this->lang["kwcolumns"]; };
 
      $length=strlen($this->lang["kwcolumns"])+2;
      $end=strpos($match,">");
      if($end > $length)
      {
        $width=preg_split('/ /',substr($match,$length,$end-$length));
      }
      #$lines="$kwcolumns:$kwnewcol:".substr($match,$length,$end-$length).":";
      $css1=$this->getConf('css1');
      $css2=$this->getConf('css2');
      $css3=$this->getConf('css3');
      $lines.='<table';
      if ($width[0] != "-")
      {
        $lines.=' style="width:'.$width[0].'"';
      }
      $lines.= '><tr>';
      $column=0;
      foreach (preg_split('/'.$kwnewcol.'/',substr($match,$end+1,-$length-1)) as $col)
      {
        if ($column==1) # first column
        {
          $lines.=td($width[$column],$css1);
          $lines.= p_render('xhtml',p_get_instructions($oldcol),$info);
        }
        else
        {
          if ($column>1) # all other columns
          {
            $lines.=td($width[$column],$css2);
            $lines.= p_render('xhtml',p_get_instructions($oldcol),$info);
          }
        }
        $column++;
        $oldcol=$col;
      }
      $lines.=td($width[$column],$css3);
      $lines.= p_render('xhtml',p_get_instructions($oldcol),$info); # last column
      $lines.='</td></tr></table>';
      return $lines;
    }
 
    /**
     * Create output
     */
    function render($mode, &$renderer, $data) {
        if($mode == 'xhtml'){
          $renderer->doc .= $data;
          return true;
        }
        return false;
    }
}
 
//Setup VIM: ex: et ts=4 enc=utf-8 :

Vea también

Gracias a ...

Andreas Gohr por Dokuwiki y ahora: S5!

1)
La sintaxis puede ser completamente compatible con la versión original del plugin, deseleccionando la opción “Wrap the new column tag” en parámetros de configuración.
es/plugin/columns.txt · Última modificación: 2016-01-05 20:40 por 200.48.204.226