Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Estilo #3

Closed
crguezl opened this issue Mar 8, 2016 · 4 comments
Closed

Estilo #3

crguezl opened this issue Mar 8, 2016 · 4 comments
Assignees
Milestone

Comments

@crguezl
Copy link
Collaborator

crguezl commented Mar 8, 2016

Debería ser posible para el autor del ejercicio definir el ancho del elemento input, el ancho de la ventana, el tamaño de los botones, etc. No es lo mismo que la respuesta sea muy corta que muy larga.

Habrá que considerar dos parametrizaciones.

  • Una en book.json en el atributo pluginsConfig del tipo:
  "pluginsConfig": {
        "asciitree": {
            "leadingChar": "no need, because plugin will guess leadingChar."
        },
        "jsfiddle": {
            "type": "script",
            "tabs": [
                "result",
                "js",
                "html"
            ],
            "height": "1000",
            "width": "500",
            "fontColor": "00FF00"
        },
        "disqus": {
            "shortName": "gitbookexample"
        }
    }
  • Y la otra pasándole parámetros a cada sección {% regexp %}
@crguezl crguezl modified the milestone: operativa Mar 8, 2016
@sokartema
Copy link
Owner

He estado bastante trabado con el tema de la configuracion en el book.json, por lo que he podido ver del plugin autocover, el objeto se obtiene de la siguiente manera:

    "finish:before": function() {
            var that = this;
            var pluginConfig = that.config.get('pluginsConfig.jazer', {});

            console.log(pluginConfig);

        }

Pero dentro de la sección "Hooks", desde los bloques no se puede acceder a ella, por lo que sigo investigando.

@sokartema
Copy link
Owner

Hay un problema bastante curioso que puede ser un bug de gitbook, mañana hablamos de ello, pero es el siguiente...

Al crear un bloque con argumentos como el siguiente:

{% regexp width="40%", height="100px" %}
¿Quien descubrió america?
{% solution %}
Cristobal Colon
{% validation %}
/\s*(Cristobal)?\s+Colon\s*/i
{% endregexp %}

Los argumentos que recoge el objeto blk en la funcion del bloque se llama 4 veces, 2 veces por bloque definido, el problema viene en que la primera vez el bloque recoge los argumentos, pero la segunda vez no. Por lo que al pasarle los argumentos al template html, no acaban bien definidos..


{ width: '40%', height: '100px', __keywords: true }
{ body: '\n¿Quien descubrió america?\n',
  args: [],
  kwargs: { width: '40%', height: '100px', __keywords: true
  blocks:
   [ { name: 'solution', body: '\nCristobal Colon\n' },
     { name: 'validation',
       body: '\n/\\s*(Cristobal)?\\s+Colon\\s*/i\n' } ] }
{}
{ body: '\n¿4+4?\n',
  args: [],
  kwargs: {},
  blocks:
   [ { name: 'solution', body: '\n8\n' },
     { name: 'validation', body: '\n/\\s*8\\s*/i\n' } ] }
info: start generation with website generator
info: clean website generator
info: OK
{ width: NaN, height: undefined, __keywords: true }
{ body: '\n¿Quien descubrió america?\n',
  args: [],
  kwargs: { width: NaN, height: undefined, __keywords: true
  blocks:
   [ { name: 'solution', body: '\nCristobal Colon\n' },
     { name: 'validation',
       body: '\n/\\s*(Cristobal)?\\s+Colon\\s*/i\n' } ] }
{}
{ body: '\n¿4+4?\n',
  args: [],
  kwargs: {},
  blocks:
   [ { name: 'solution', body: '\n8\n' },
     { name: 'validation', body: '\n/\\s*8\\s*/i\n' } ] }

Mañana lo explico mejor... pero se puede observar que los argumentos en los ultimos bloques son NAN y undefined.

@crguezl
Copy link
Collaborator Author

crguezl commented Mar 31, 2016

Vale la pena mirar como lo hace el plugin gitbook-plugin-mermaid
admite una opción:

To load graph put in your book block as:

{% mermaid src="./diagram.mermaid" %}
{% endmermaid %}

que es tratado en su fichero index.js:

  blocks: {
    mermaid: {
      process: function(block) {
        var body = block.body;

        var src = block.kwargs.src;
        if(src) {
          var relativeSrcPath = url.resolve(this.ctx.file.path, src)
          var absoluteSrcPath = decodeURI(path.resolve(this.book.root, relativeSrcPath))
          body = readFileSync(absoluteSrcPath, 'utf8')
        }

        return processBlock(body);
      }
    }
  }

Un issue relacionado con los argumentos de bloque se encuentra en
este issue de gitbook
Bad handling of block arguments #934

@sokartema
Copy link
Owner

sokartema commented Apr 20, 2016

En la version 1.0.42 ya está disponible poner los mismos parametros de cada bloque en el archivo book.json de forma general.

{

  "plugins": ["jazer","katex"],

  "pluginsConfig":{
      "jazer": {
          "width": "80%",
          "height": "20%",
          "color": "#BB504B",
          "gutter": "false"
      }
  }

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants