-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·592 lines (516 loc) · 35.7 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
<!doctype html>
<html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-6RNBK2584K"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-6RNBK2584K');
</script>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GeoIniciativas - Una recopilación de recursos para geoentusiastas</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800,900" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/railscasts.min.css">
<link rel="stylesheet" href="assets/css/scribbler-global.css">
<link rel="author" href="humans.txt">
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<!-- <script src="https://cdn.jsdelivr.net/npm/vue-scrollto"></script> -->
</head>
<body>
<div id="app">
<router-view></router-view>
<footer class="footer">Esta página ha sido adaptada usando <img src="assets/imgs/vue.png" class="vue-icon"/>ue y con mucho ❤️ a partir de la plantilla gratuita "Scribbler" desarrollada por <a href="https://tympanus.net/codrops/" target="_blank" class="link link--light">Codrops</a>.</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
<!-- -->
</div>
<script type="text/x-template" id="home">
<div id="home-page">
<nav>
<div class="logo"></div>
<ul class="menu">
<div class="menu__item toggle"><span></span></div>
<li class="menu__item"><i class="fa fa-book"></i> <router-link to="/docs" class="link link--dark">Documentación</router-link></li>
<li class="menu__item"><a href="https://github.com/Geo-Developers/geoiniciativas" class="link link--dark"><i class="fa fa-github"></i> Github</a></li>
</ul>
</nav>
<div class="hero">
<h1 class="hero__title">Geoiniciativas<span class="logo__thin">DB</span></h1>
<p class="hero__description">
Más que una <a href="https://github.com/sindresorhus/awesome/blob/main/awesome.md#the-awesome-manifesto" class="link">awesome list</a>: hoja de cálculo + API de datos estructurados.
</p>
</div>
<div class="hero__terminal ">
<div class="demoWrapper">
<div onclick="location.href='https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit';" class="cursor-pointer">
<!-- <a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit"><img src=""></a> -->
</div>
</div>
</div>
<div class="wrapper break-word text-left" id="intro-animation">
<p class="text-center">Si te parece interesante, ayúdanos dandole <a href="https://github.com/Geo-Developers/geoiniciativas">una <img src="assets/imgs/star.png" class="github-star"/> al repo en Github</a>.</p>
<div class="text-center">Consulta via API: <span class="code code--inline">select A, E WHERE B = 'Geocoding'</span></div>
<pre>
<code class="shell-session demo break-word">workspace ~ $ </code>
</pre>
</div>
<div class="wrapper">
<div class="feature">
<div class="feature__item">
<h3 class="section__title">Abierto</h3>
<p>El documento con los enlaces está licenciado bajo <a href="http://creativecommons.org/licenses/by/4.0/" class="bold">Creative Commons Attribution 4.0 International License</a> para que los datos sean compartidos y reutilizados.</p>
</div>
<div class="feature__item">
<h3 class="section__title">Colaborativo</h3>
<p>Somos un equipo abierto donde todos tenemos permiso para añadir y actualizar la información para poder tener y más actualizada lista de recursos posible, <a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit" class="bold">¡únete!</a>.</p>
</div>
<div class="feature__item">
<h3 class="section__title">Libre</h3>
<p>Nuestros scripts están licenciados bajo <a href="https://choosealicense.com/licenses/gpl-3.0/" class="bold">GPL v3.0</a>, para que tengas la libertad de hacer con ellos lo que quieras. La web depende de <a href="https://github.com/amiechen/codrops-scribbler">codrops-scribbler</a> que está bajo <a href="http://tympanus.net/codrops/licensing/">MIT</a>.</p>
</div>
<div class="feature__item">
<h3 class="section__title">Reutilizable</h3>
<p>Además de poder exportar los listados como CSV, XLSX, ODS, PDF, ... hemos creado un <a href="doc.html#widget" class="bold">widget</a> para que puedas puedas embeber los listados en cualquier web.</p>
</div>
<div class="feature__item">
<h3 class="section__title">Core</h3>
<p>El objetivo es poder <span class="bold">derivar proyectos</span> a partir de esta recopilación de enlaces, el widget es un ejemplo de ello. Descubre <a href="https://github.com/topics/geoiniciativas">otros proyectos en Github</a>.</p>
</div>
<div class="feature__item">
<h3 class="section__title">Actualizado</h3>
<p>Siempre es complicado mantener un listado de enlaces (porque tienden a romperse), por eso usaremos un <span class="bold">comprobador de enlaces rotos</span>.</p>
<!-- <p>Maintain all your settings in a single <span class="code code--inline">config.json</span> file. Never need to redo the setting every single time jotting down a note.</p> -->
</div>
</div>
<div class="callout">
<p>Descubre cómo embeber los listados, descargar los datos, contribuir y mucho más</p>
<router-link to="/docs" class="button--primary">Documentación</router-link>
</div>
</div>
<div class="changelog">
<div class="wrapper">
<h3 class="section__title">
Versiones<br>
<!-- Place this tag where you want the button to render. -->
<a class="github-button" href="https://github.com/Geo-Developers/geoiniciativas/subscription" data-icon="octicon-eye" aria-label="Watch Geo-Developers/geoiniciativas on GitHub">Watch</a>
</h3>
<div class="changelog__item">
<div class="changelog__meta">
<h4 class="changelog__title">v0.1</h4>
<small class="changelog__date">7/01/2021</small>
</div>
<div class="changelog__detail">
<ul>
<li>Documento con las primeras hojas 11 pestañas</li>
<li>MVP promotional site (home y docs)</li>
</ul>
</div>
</div>
<div class="changelog__callout">
<a href="https://github.com/Geo-Developers/geoiniciativas/issues" class="button--secondary inline-block"><span class="bold">Github issues</span>: Bugs, mejoras, ....</a>
</div>
</div>
</div>
</div>
</script>
<script type="text/x-template" id="docs">
<div id="docs-page">
<div class="doc__bg"></div>
<nav class="header">
<h1 class="logo"><router-link to="/">Geoiniciativas<span class="logo__thin">DB</span></router-link></h1>
<ul class="menu">
<div class="menu__item toggle"><span></span></div>
<li class="menu__item"><a href="" class="link link--dark"><i class="fa fa-github"></i> Github</a></li>
<li class="menu__item"><a href="index.html" class="link link--dark"><i class="fa fa-home"></i> Home</a></li>
</ul>
</nav>
<div class="wrapper">
<aside class="doc__nav">
<ul>
<li class="js-btn selected">Datos / Recursos</li>
<li class="js-btn">Proyectos derivados</li>
<li class="js-btn subcategory"> - geoiniciativas-widget</li>
<li class="js-btn subcategory"> - agregador-de-geoblogs</li>
<li class="js-btn subcategory"> - open-data-search</li>
<li class="js-btn">Usuarios de GSheets</li>
<li class="js-btn">Desarrolladores</li>
<li class="js-btn subcategory"> - Google Viz API</li>
<li class="js-btn subcategory"> - Google Sheets API</li>
<li class="js-btn">Contribuciones</li>
</ul>
</aside>
<article class="doc__content">
<section class="js-section">
<h3 class="section__title" id="widget">Datos / Recursos</h3>
<!-- <a href="#" >Scroll</router-link> -->
<p>Para quedarte una copia local de los datos puedes <a href="https://support.google.com/docs/answer/49114?co=GENIE.Platform%3DDesktop&hl=es#zippy=%2Chacer-una-copia-de-un-archivo" class="link">hacer una copia</a> <a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit#gid=1019140788" class="link">del documento</a> o usar la opción de <a href="https://support.google.com/docs/answer/9330963?hl=es" class="link">exportar hojas de cálculo</a>.</p>
<p>Cada pestaña contiene un listado de recursos:</p>
<table id="customers">
<tr>
<th>Pestaña</th>
<th>Contenido</th>
</tr>
<tr>
<td>comunidades</td>
<td>Lugares donde poder interactuar con otr@s geoentusiastas</td>
</tr>
<tr>
<td>blogs</td>
<td>Medios que publican artículos periódicamente relacionados con las ciencias de la tierra, mapas, SIG, etc.</td>
</tr>
<tr>
<td>datos</td>
<td>Portales con datos geolocalizados</td>
</tr>
<tr>
<td>apis</td>
<td>APIs agnósticas (REST normalmente) que ofrecen datos georeferenciados y/o herramientas de análisis</td>
</tr>
<tr>
<td>sdks-bibliotecas</td>
<td>Frameworks, SDKs y bibliotecas tanto para trabajar con mapas y datos georeferenciasdos en entornos nativos y web</td>
</tr>
<tr>
<td>formatos</td>
<td>Formatos de datos para trabajar con datos georeferenciados</td>
</tr>
<tr>
<td>eventos</td>
<td>
Esta pestaña contiene los eventos importados de la <a href="https://docs.google.com/spreadsheets/d/1h0-_PxlxBY9aajsI7O7r1jLp_bSSd2UuT--6jN50-HM/edit#gid=210125494">lista colaborativa de NoSoloSIG</a>.
Puedes <a href="https://docs.google.com/forms/d/e/1FAIpQLSd-3Uzi_VAOBTNwkSjj3NviLON1jVuJXBLoaqUtxNz63ieGEw/viewform">enviar un evento a través de este formulario</a>
</td>
</tr>
<tr>
<td>libros</td>
<td>Libros para desarrollar habilidades relacionadas con las ciencias de la tierra, mapas, SIG, etc.</td>
</tr>
<tr>
<td>canales-youtube</td>
<td>Canales de Youtube dirigidos a geoentusiastas</td>
</tr>
<tr>
<td>cursos-masters</td>
<td>Cursos online, presenciales, en vídeo, etc</td>
</tr>
<tr>
<td>otras-webs</td>
<td>Otros recursos que no encajar exáctamente en las categorías anteriores</td>
</tr>
</table>
<p>Las celdas de la primera fila pueden contener notas aclaratorias sobre cada campo, al igual que comentarios si se quiere discutir/debatir algo.</p>
<p>Se crearán nuevos listados conforme se vaya considerando necesario.</p>
</section>
<section class="js-section">
<h3 class="section__title">Proyectos derivados</a></h3>
<p>A partir de los datos se estos datos se están creando proyectos y scrips que pueden ser de interés general para geoentusiastas:</p>
<p>Estamos intentando que todos los proyectos que usen estos datos estén etiquetados en Github con el <a href="https://github.com/topics/geoiniciativas">"topic": geoiniciativa</a>. Si encuentras alguno que no esté listado aquí por favor avísanos abriendo un issue o haciendo un pull request.</p>
<p>Si quieres aportar alguna idea no dudes en leer la sección contribuciones.</p>
</section>
<section class="js-section">
<h4 class="bold">- geoiniciativas-widget</a></h4>
<p>Embebe los datos de cualquier pestaña de la hoja de cálculo en cualquier página web usando un script como este.</p>
<pre class="code dark code--block">
<code class="html">
{{widgetScript}}
</code>
</pre>
<p class="text-center">
<span class="bold">Demo</span>: <a href="https://geo-developers.github.io/geoiniciativas-widget/" class="link">live demo</a> |
<span class="bold">Documentación</span>: <a href="https://github.com/Geo-Developers/geoiniciativas-widget" class="link">github.com/Geo-Developers/geoiniciativas-widget</a>
</p>
<section>
<section class="js-section">
<h4 class="bold">- agregador-de-geoblogs</a></h4>
<p>
Con el objetivo facilitar la lectura de las últimas noticias sobre de los blogs sobre GEO en español
<span class="bold">se han reutilizado los datos de la <a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit#gid=75088066" class="link">pestaña "blogs"</a></span>
para crear un <a ref="https://es.wikipedia.org/wiki/RSS" class="link">RSS</a> unificado que contiene las últimas noticias
en un solo sitio. De este modo se ofrece la posibilidad de acceder a toda la geoactualidad desde un único sitio y como cada
uno prefiera vía: Una interfaz web, suscripción por email o lector de RSS que permita importar Fichero OPML.
</p>
<p class="text-center">
<a href="https://geo-developers.github.io/agregador-de-geoblogs/#/">
<img src="assets/imgs/agregador-noticias.png" alt="Captura de pantalla del agregador de noticias">
</a>
</p>
<p class="text-center">
<span class="bold">Visor web</span>: <a href="https://geo-developers.github.io/agregador-de-geoblogs/#/" class="link">minimal interface</a> |
<span class="bold">Documentación</span>: <a href="https://github.com/Geo-Developers/agregador-de-geoblogs" class="link">github.com/Geo-Developers/agregador-de-geoblogs</a>
</p>
<section>
<section class="js-section">
<h4 class="bold">- open-data-search</a></h4>
<p>
<span class="bold">Usando los datos de <a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit#gid=746167425" class="link">la pestaña "datos"</a></span>
se está creando el mayor [meta]buscador de datos abiertos. Este buscador actualmente busca en +250 fuentes (portales de datos abiertos, de transparencia, IDEs, INE, catastro, INE, IGN, ...)
</p>
<p>
La implementación actual usa <a href="https://programmablesearchengine.google.com/about/" class="link">Programmable Search Engine de Google</a>
que permite fácilmente unificar fuentes y usar
los mismos <a href="https://github.com/esri-es/arcgis-search/blob/master/README.md#advanced-google-search-tips" class="link">parámetros avanzados de de búsqueda</a>
que el buscador de Google.
</p>
<p class="text-center">
<img src="assets/imgs/open-data-search.png" alt="Captura de pantalla del buscador de datos abiertos">
</p>
<p class="text-center">
<span class="bold">Demo</span>: <a href="https://cse.google.com/cse?cx=071ea5e1c8d03f71c" class="link">Programmable Search Engine</a> |
<span class="bold">Documentación</span>: <a href="https://github.com/esri-es/open-data-search" class="link">github.com/esri-es/open-data-search</a>
</p>
<section>
<section class="js-section">
<h3 class="section__title">Usuarios de GSheets</h3>
<p>
Una función bastante desconocida pero muy interesante de Google Sheets es <a href="https://support.google.com/docs/answer/3093340?hl=en" class="link">IMPORTRANGE</a>.
Esta permite importar un intervalo de celdas de una hoja de cálculo específica a otra. De este modo podemos crear nuevas hojas de cálculo que
mantengan siempre los datos actualizados importándolos de la hoja de datos original como se puede ver a continuación:
</p>
<p class="text-center">
<a href="https://docs.google.com/spreadsheets/d/1-IaKRB5wbZVQ9hAWGIQVgDWgNfT9pHpI_SFGjD3fyT0/edit?usp=sharing">
<img src="assets/imgs/importrange-gsheets.gif" alt="Animación mostrando cómo funciona">
</a>
</p>
<p class="text-center" style=" margin-top: 0; top: -20px; position: relative; ">
<a href="https://docs.google.com/spreadsheets/d/1-IaKRB5wbZVQ9hAWGIQVgDWgNfT9pHpI_SFGjD3fyT0/edit?usp=sharing" class="link">Abrir hoja de ejemplo</a>
</p>
<p>
Si no estás familiarizado con las <a href="https://support.google.com/docs/table/25273?hl=es&ref_topic=9199554" class="link">funciones de Google Sheets</a>
te recomendamos que les eches un vistazo, hay funciones como <a href="https://support.google.com/docs/answer/3093343" class="link">QUERY</a> que además permiten
filtrar los datos del rango importado usando consultas parecidas a SQL.
</p>
</section>
<section class="js-section">
<h3 class="section__title">Desarrolladores</h3>
<p>
El objetivo último de este proyecto es que los datos se usen lo máximo posible, por eso explicamos a continuación dos formatos
para consumirlos vía API.
</p>
</section>
<section class="js-section">
<h4 class="bold">Google Viz API</h4>
<p>
Usando la <a href="https://developers.google.com/chart/interactive/docs/querylanguage" class="link">Google Visualization API Query Language</a> podemos
lanzar consultas similares a como lo haríamos con SQL para recuperar todos o subconjuntos de datos filtrados.
</p>
<p>
Para ello sólo tendremos que usar la misma URL del spreadsheet pero terminada en <span class="code code--inline">/gviz/tq?tq=CONSULTA&gid=ID_HOJA</span>.
</p>
<p>
Por ejemplo, para extraer todas las filas de las columnas "Nombre" y "URL" (columnas A y B respectivamente) de la hoja "comunidades" (primera pestaña),
tendremos que usar la consulta: <span class="code code--inline">select A, B</span>.
</p>
<p class="text-center">
<img src="assets/imgs/pestania-comunidades.png">
</p>
<p>
<a href="https://developers.google.com/chart/interactive/docs/querylanguage#setting-the-query-in-the-data-source-url" class="link">Como se indica en la documentación</a>,
dicha consulta hay que codificarla (en UTF-8) antes de añadirla a la URL, por lo que quedaría:
</p>
<div class="code__block code__block--notabs">
<pre class="code code--block"><a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/gviz/tq?tq=select%20A%2C%20B" class="link">
https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/gviz/tq?tq=<span class="bold">select%20A%2C%20B</span>
</a>
</pre>
</div>
<p>
Si por ejemplo quisiéramos recuperar sólo los nombres y URLs de todas las APIs de geocodificación de la
<a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/edit#gid=254964896" class="link">pestaña "apis"</a>
(id: 254964896):
</p>
<p class="text-center">
<img src="assets/imgs/pestania-apis.png" alt="Captura de la pestaña API de la hoja de cálculo">
</p>
<p>
Usaríamos la consulta: <span class="code code--inline">select A, E WHERE B = 'Geocoding'</span>, y querdaría:
</p>
<div class="code__block code__block--notabs">
<pre class="code code--block"><a href="https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/gviz/tq?tq=select%20A%2C%20B" class="link">
https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/gviz/tq?tq=<span class="bold">select%20A%2C%20E%20WHERE%20B%20%3D%20'Geocoding'</span>&gid=<span class="bold">254964896</span>
</a>
</pre>
</div>
<p>
A continuación dejamos un script en JavaScript que puede ser utilizado para facilitar la codificación de las URLs:
</p>
<pre class="code dark code--block">
<code class="javascript">
const getDataVizURL = function(query, gid = null){
const baseUrl = 'https://docs.google.com/spreadsheets/d/',
sheetID = '1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ',
endpoint = '/gviz/tq?tq=',
prefix = `${baseUrl}${sheetID}${endpoint}`;
return (gid)? `${prefix}${encodeURIComponent(query)}&gid=${gid}`: `${prefix}${encodeURIComponent(query)}`;
}
// Ejemplo de uso: getDataVizURL("select A, E WHERE B = 'Geocoding'",'144636878')
// Devolvería: https://docs.google.com/spreadsheets/d/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/gviz/tq?tq=select%20A%2C%20E%20WHERE%20B%20%3D%20'Geocoding'&gid=144636878
</code>
</pre>
</section>
<section class="js-section">
<h4 class="bold">Google Sheets API</h4>
<p>
La <a href="https://developers.google.com/sheets/api/guides/migration" class="link">API de Google Sheets</a>
también permite recuperar todos los datos de cada pestaña individualmente tanto en formato JSON como XML.
</p>
<p>En los siguientes ejemplos usaremos la versión 3 para evitar tener que generar una API_KEY de Google Console.</p>
<table id="customers">
<tr>
<th>Endpoint (v3)</th>
<th>Funcionalidad</th>
<th>Demo</th>
</tr>
<tr>
<td>/feeds/worksheets/<span class="bold">spreadsheetId</span>/private/full</td>
<td>Los metadatos del documento: título, número de pestañas, identificadores globales de las pestañas, etc.</td>
<td><a href="https://spreadsheets.google.com/feeds/worksheets/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/public/full?alt=json" class="link">JSON</a></td>
</tr>
<tr>
<td>/feeds/list/<span class="bold">spreadsheetId</span>/<span class="bold">tabId</span>/public/values</td>
<td>Permite recuperar los valores de las celdas de una pestaña concreta. El valor "spreadsheetId"</td>
<td><a href="https://spreadsheets.google.com/feeds/list/1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ/1/public/values?alt=json" class="link">JSON</a></td>
</tr>
</table>
<p>Nota: el proyecto <a href="https://github.com/Geo-Developers/geoiniciativas-widget">geoiniciativas-widget</a> se ha desarrollado usando esta API.</p>
</section>
<section class="js-section">
<h3 class="section__title">Contribuciones</h3>
<p class="section__subtitle bold">AÑADIR O MANTENER RECURSOS</p>
<p>
Cuántos más seamos añadiendo y manteniendo estos datos más útil será. Por lo que si quieres ayudar, sólo tienes que unirte a la
<a href="https://groups.google.com/u/1/g/geoiniciativasdb" class="link">lista de correo</a>, presentarte y comentar en qué
te gustaría ayudar.
</p>
<p class="section__subtitle bold">DESARROLLADORES</p>
<p>
Para organizar las ideas, bugs, etc. usamos los <a href="https://github.com/Geo-Developers/geoiniciativas/issues">issues del proyecto</a>.
</p>
<p>Una buena forma de contribuir es ayudando con <a href="https://github.com/Geo-Developers/geoiniciativas/issues">los issues</a>, ¿te animas?:</p>
<div class="code__block code__block--notabs">
<pre class="code dark code--block">
<code>
$ git clone https://github.com/Geo-Developers/geoiniciativas.git
</code>
</pre>
</div>
<p class="section__subtitle bold">NETWORKING</p>
<p>
Si te apetece conocer a otros geoentusiastas también puedes conectar al
<a href="https://github.com/Geo-Developers/organization/blob/master/coworking.md#preguntas-frecuentes-acerca-del-coworking" class="bold">coworking online</a>.
</p>
<!-- <div class="hero__terminal">
<pre>
<code class="shell-session demo">geolover ~ $ </code>
</pre>
</div> -->
</section>
<!-- <section class="js-section">
<div class="installation">
<h3 class="section__title">Installation</h3>
<div class="tab__container">
<ul class="tab__menu">
<li class="tab active" data-tab="mac">mac</li>
<li class="tab" data-tab="linux">linux</li>
<li class="tab" data-tab="win">win</li>
</ul>
<pre class="nohighlight code">
<code class="tab__pane active mac">$ brew install scribbler</code>
<code class="tab__pane linux">$ apt-get install scribbler</code>
<code class="tab__pane win">$ gem install scribbler</code>
</pre>
</div>
</div>
</section> -->
</article>
</div>
</div>
</script>
<!-- Place this tag in your head or just before your close body tag. -->
<script async defer src="https://buttons.github.io/buttons.js"></script>
<script>
const Home = Vue.component('home',{
template: '#home',
mounted() {
let externalScript = document.createElement('script')
externalScript.setAttribute('src', 'assets/js/scribbler.js')
document.getElementById("home-page").appendChild(externalScript)
externalScript = document.createElement('link')
externalScript.setAttribute('rel', 'stylesheet');
externalScript.setAttribute('href', 'assets/css/scribbler-landing.css')
document.getElementById("home-page").appendChild(externalScript)
}
});
const DocsPage = Vue.component('docs',{
template: '#docs',
mounted() {
let externalScript = document.createElement('script')
externalScript.setAttribute('src', 'assets/js/scribbler.js')
document.getElementById("docs-page").appendChild(externalScript)
externalScript = document.createElement('link')
externalScript.setAttribute('rel', 'stylesheet');
externalScript.setAttribute('href', 'assets/css/scribbler-doc.css')
document.getElementById("docs-page").appendChild(externalScript)
// From testing, without a brief timeout, it won't work.
// setTimeout(() => this.scrollFix(this.$route.hash), 1);
},
data(){
const str = `
<div class="geoiniciativas-widget" data-sheetid="1bF4YYH7bXPSLI___zMfh3tDfSxDlWWZLkkuT5vD4zHQ" data-tab="sdks-bibliotecas"></div>
\<script\>
(function() {
const repoUrl = "https://geo-developers.github.io/geoiniciativas-widget",
js = document.createElement("script");
css = document.createElement("link");
js.type = "text/javascript";
js.src = repoUrl + "/geoiniciativas-widget.js";
css.rel = "stylesheet"
css.href = repoUrl + "/geoiniciativas-widget.css",
document.querySelector("head").appendChild(js);
document.querySelector("head").appendChild(css);
})();
\</script\>;`;
return {
widgetScript: str
}
},
methods: {
// scrollFix: function(hashbang)
// {
// location.hash = hashbang;
// }
}
});
// const DocsPage = Vue.component('doc-page',{
// template: '#doc-page'
// });
const routes = [
{ path: '/docs', component: DocsPage },
// { path: '/noticias', component: ArticleList },
{ path: '/', component: Home }
];
const router = new VueRouter({
routes,
scrollBehavior(to, from, savedPosition) {
if (to.hash) {
VueScrollTo.scrollTo(to.hash, 700);
return { selector: to.hash }
} else if (savedPosition) {
return savedPosition;
} else {
return { x: 0, y: 0 }
}
}
})
var app = new Vue({
el: '#app',
router
});
</script>
</body>
</html>