Skip to content

Instantly share code, notes, and snippets.

@mathiasrw
Last active February 27, 2024 21:21

Revisions

  1. mathiasrw revised this gist Jan 30, 2014. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions True Trello Printer
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@ font-size: 1.2em;
    <body>

    <div id="out">

    No Trello JSON data found
    </div>

    </ul>
    @@ -128,7 +128,7 @@ function showData(data){
    function autorun()
    {
    if(null == data){
    return alert('Please insert JSON data from Trello')
    return alert('Please insert JSON data from Trello in the code')
    }
    showData(eatData(data));
    }
  2. mathiasrw revised this gist Jan 30, 2014. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions True Trello Printer
    Original file line number Diff line number Diff line change
    @@ -127,8 +127,9 @@ function showData(data){

    function autorun()
    {
    if(data = null){
    return alert('Please insert JSON data from Trello') }
    if(null == data){
    return alert('Please insert JSON data from Trello')
    }
    showData(eatData(data));
    }
    if (document.addEventListener) document.addEventListener("DOMContentLoaded", autorun, false);
  3. mathiasrw created this gist Jan 30, 2014.
    160 changes: 160 additions & 0 deletions True Trello Printer
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,160 @@
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>True Trello Printer</title>
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <style>
    body{margin:15%;}

    .panel-body{
    font-size: 1.2em;

    }
    </style>
    <STYLE type="text/css" media="print">
    body{margin:0;}
    </STYLE>
    </head>
    <body>

    <div id="out">

    </div>

    </ul>
    </div>

    <script type="text/html" id="template-output" >
    {{#lists}}
    <h1>Område: {{name}}</h1>
    {{#cards}}
    <div class="panel panel-default">
    <div class="panel-heading"><h4>{{name}}</h4>{{{desc}}}</div>
    <!--div class="panel-body" >

    </div-->
    <ul class="list-group">

    {{#actions}}
    <li class="list-group-item"><tt style="color:gray;">{{date}} </tt> {{{text}}}</li>
    {{/actions}}
    </ul>
    </div>
    {{/cards}}
    <hr><br><br>
    {{/lists}}

    </script>




    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js" type="text/javascript"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.7.2/mustache.min.js" type="text/javascript"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js" type="text/javascript"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/marked/0.3.0/marked.min.js
    " type="text/javascript"></script>
    <script type="text/javascript">

    function eatData(trelloJson){
    var data = {
    board: trelloJson.name
    ,
    lists: []
    ,
    ref: {}
    }

    for(i in trelloJson.lists){
    var list = trelloJson.lists[i]
    if(list.closed){
    //continue
    }
    data.ref[list.id] = {
    name: list.name
    ,
    cards: []
    }
    data.lists.push(data.ref[list.id])
    }


    for(i in trelloJson.cards){
    var card = trelloJson.cards[i]
    if(card.closed){
    //continue
    }

    data.ref[card.id] = {
    name: card.name
    ,
    desc: marked(card.desc)
    ,
    actions: []
    }

    data.ref[card.idList].cards.push(data.ref[card.id])

    }

    for(i in trelloJson.actions){
    var action = trelloJson.actions[i]
    if(action. type != "commentCard"){
    continue
    }


    data.ref[action.id] = {
    text: marked(action.data.text)
    ,
    date: moment(action.date).format('YYYY-MM-DD')
    }
    try{
    data.ref[action.data.card.id].actions.push(data.ref[action.id])
    } catch(e){}
    }

    return data;
    }

    function showData(data){
    var template = $('#template-output').html()
    console.log(JSON.stringify(data,null,2))
    $('#out').html(Mustache.render(template, data))
    }

    function autorun()
    {
    if(data = null){
    return alert('Please insert JSON data from Trello') }
    showData(eatData(data));
    }
    if (document.addEventListener) document.addEventListener("DOMContentLoaded", autorun, false);
    else if (document.attachEvent) document.attachEvent("onreadystatechange", autorun);
    else window.onload = autorun;


    data = null;
    /*
    data = {
    "id": "52a9b37c0fc9b3",
    "name": "My board",
    "desc": "",
    "descData": null,
    "closed": false,
    "idOrganization": "502a0988d99341fe81a",
    "invited": false,
    "pinned": false,
    "starred": false,
    "url": "https://trello.com/b/fsvDkUV1/bec-f-rste-gang-the-movie",

    ......................


    }
    //*/
    </script>
    </body>
    </html>