As I have been using Google Apps Scripts (GAS) and knowing TiddlyWiki for about 1 year, I am trying to find out the possibilities of (re) writing TiddlyWiki in GAS. The HTML services in GAS allows client side javascript, CSS and HTML (https://developers.google.com/apps-script/guides/html). Google Sheets might be a place to store (or keep a copy of) tiddlers, or be used to produce a data tiddler. Google also has this (https://developers.google.com/apps-script/api/quickstart/nodejs) to make node.js commands to GAS API.
Did I misunderstand anything? Or this sounds like a plan? Sorry if I overlooked the Copyright of Tiddlywiki as I don't intend to do so.Thanks!Chun
--
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/97145418-d172-42b5-aaff-c6b170c7d4ca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
here is google table shop demo with 14000+ ITEMS http://heeg.ru/shop_test29.htm
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c3e63bbb-3190-450a-9839-3be32ec6b82f%40googlegroups.com.
var part='';
var dataURL = 'https://docs.google.com/spreadsheets/d/1b3CFfclMbQEQyJXVAz4yrqOiUS3vL_5jt-85ku0E9Ck/gviz/tq?sheet=goods';
function drawVisualization(dataURL,queryString,part) {
var opts = { sendMethod: 'auto' }; var query = new google.visualization.Query(dataURL, opts); query.setQuery(queryString); query.send(handleQueryResponse);}
function handleQueryResponse(response) { if (response.isError()) { alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); return; } var data = JSON.parse(response.getDataTable().toJSON());
for (var ik=0, lenk=data.rows.length; ik<lenk; ik++) { var fields = Object.create(null);for (var i=0, len=data.cols.length; i<len; i++) {if(data.cols[i].label=='id'){new_keya='title'}else if(data.cols[i].label=='name'){new_keya='caption'}else{new_keya=data.cols[i].label};
if(data.rows[ik].c[i] == null || data.rows[ik].c[i].v=="" || data.rows[ik].c[i].v==undefined){}else if(new_keya=="tags"){fields[new_keya]=data.rows[ik].c[i].v+" $:/Note"+" "+search_text;}else{fields[new_keya]=data.rows[ik].c[i].v+""};
};$tw.wiki.addTiddler(new $tw.Tiddler($tw.wiki.getModificationFields(),fields,$tw.wiki.getCreationFields()));
};
if (part=="limit 1"){var story = new $tw.Story();story.navigateTiddler(search_text);}
}
function summaryVisualTitle(title, col, par){if(title.length>2){ querySummary = 'select * Where ' +col +' like '+title+' ' +par;part=par;search_text=title; drawVisualization(dataURL,querySummary,part);
}}
<$list filter="[is[current]addprefix[']addsuffix[%']]"><$addup val1=<<currentTiddler>> val2="B" val3="limit 300"/></$list>