Commit 67ba96f692ba610485da561eba9ac2771bf2b8b6

Now we generate properly valid HTML. Hooray?
  
22require 'sinatra'
33require 'rest_client'
44require 'json'
5#require 'rack/reloader'
65
76RestClient.proxy = "http://localhost:8118"
87set :host, 'localhost'
3030 puts "loaded credentials: #{@@config['credentials']['username']}, **********"
3131end
3232
33def escape_amp(text)
34 return text.gsub(/&(?!(amp|lt|gt|#39|quot);)/, "&")
35end
36
37def html(text)
38 return text.gsub(/&(?!(amp|lt|gt|#39|quot);)/, "&").
39 gsub("<", "&lt;").
40 gsub(">", "&gt;").
41 gsub("'", "&#39;").
42 gsub("\"", "&quot;")
43end
44
45
3346def linkify(text)
3447 new = text.dup
3548 # XXX this shouldn't work if . is the last character in the or
6363 # group name
6464 # XXX: != results in = being a link
6565
66 new.gsub!(/(?:#(\S+))/, '#<a href="http://identi.ca/tag/">
66 # don't turn eg &#39; into a link.
67
68 new.gsub!(/#((?!39;)\S+)/, '#<a href="http://identi.ca/tag/\1">\1</a>')
6769 new.gsub!(/(?:!(\S+))/, '!<a href="http://identi.ca/group/\1">\1</a>')
6870
6971 return new
  
1515 height: 80px;
1616 display: table; position: static;
1717 width: 700px;
18 margin-top: 5px;
19 margin-bottom: 5px;
1820}
1921
2022.old {
6767
6868.entry_time_text { margin-right: 10px; }
6969
70#outer {
70.outer {
7171/* border: 1px solid; */
7272 height: 60px;
7373 overflow: hidden;
7575 position: static;
7676}
7777
78#middle {
78.middle {
7979/* width: 632; */
8080/* height: 60px; */
8181/* border: 1px dashed; */
  
3030 </div>
3131
3232 <div class="floating_menu">
33<!-- <button id="button_paulv">Toggle paulv</button><br/> -->
34<!-- <button id="button_twitter">twitter</button> -->
33 <!-- <button id="button_paulv">Toggle paulv</button><br/> -->
34 <!-- <button id="button_twitter">twitter</button> -->
3535 <p class="menu">
3636 Last update on <%= @metadata['twitter']['last_update'] %>.<br/>
3737 <br/>
4545 </div>
4646
4747 <div class="status_menu">
48 <div id="update_status"></div>
48 <div id="update_status"></div>
4949 </div>
5050
51
5251 <div class="timeline">
53
5452 <% @data.each do |d| %>
5553 <% if @metadata[ d['origin'] ]['new_since'] >= d['id'] %>
5654 <% old = true %>
5656 <% old = false %>
5757 <% end %>
5858 <!-- <%= old %> -->
59 <p />
6059 <% if old == true %>
6160 <div class="old entry rounded <%= d['user']['screen_name'] %>">
6261 <% else %>
6362 <div class="entry rounded <%= d['user']['screen_name'] %>">
6463 <% end %>
65 <div id="outer">
64 <div class="outer">
6665 <div class="image">
6766 <img src="<%= d['user']['profile_image_url'] %>"
6867 height="48" width="48" alt="<%= d['user']['name'] %>"
7070 height="48" width="48" alt="<%= d['user']['name']%>"
7171 title="<%= d['user']['name'] %>"/> -->
7272 </div>
73 <div id="middle">
74 <div id="inner" class="text">
73 <div class="middle">
74 <div class="inner text">
7575 <% if d['origin'] == "identica" %>
7676 <b><a href="http://identi.ca/<%= d['user']['screen_name']%>"><%= d['user']['screen_name'] %></a></b>
7777 <% else %>
7878 <b><a href="http://twitter.com/<%= d['user']['screen_name']%>"><%= d['user']['screen_name'] %></a></b>
7979 <% end %>
8080 <% if d['origin'] == "identica" %>
81 <%= identicaify(linkify(d['text'])) %>
81 <%= identicaify linkify html d['text'] %>
8282 <% else %>
83 <%= linkify(d['text']) %>
83 <%= linkify html d['text'] %>
8484 <% end %>
8585 </div>
8686 </div>
9595 <% if d['in_reply_to_status_id'] %>
9696 In <a href="/status/<%= d['origin'] %>/<%= d['in_reply_to_status_id'] %>" class="domw_reply_to">reply to</a> <a href="http://twitter.com/<%= d['in_reply_to_screen_name'] %>"><%= d['in_reply_to_screen_name'] %></a>
9797 <% end %>
98 Via <%= d['source'] %> to <%= d['origin'] %> on
99 <span class="entry_time_text"><%= convert_time_to_est(d['created_at']) %></span> <a href="#" onClick="reply('<%= d['origin'] %>', '<%= d['user']['screen_name'] %>', '<%= d['id'] %>')">r</a>
98 Via <%= escape_amp d['source'] %> to <%= d['origin'] %> on
99 <span class="entry_time_text"><%= convert_time_to_est(d['created_at']) %></span> <a href="#" onclick="reply('<%= d['origin'] %>', '<%= d['user']['screen_name'] %>', '<%= d['id'] %>')">r</a>
100100 </div>
101
101102 </div>
102103
103104 <% end %>
104 </div>
105 </body>
106 </html>
105
106 </div>
107 </body>
108</html>