diff --git a/nullboard.html b/nullboard.html
index 49ec98a..db1b25e 100644
--- a/nullboard.html
+++ b/nullboard.html
@@ -335,15 +335,15 @@
}
/***/
- .board .list .note {
+ .board .note {
background: #fff;
margin-top: 5px;
box-shadow: 0 1px 2px #bbb, 0 0 1px #ddd;
position: relative;
}
- .board .list .note.dragging,
- .board .list .note.dragging.raw {
+ .board .note.dragging,
+ .board .note.dragging.raw {
background: #CED4DA;
box-shadow: 0 +1px 0 #00000010 inset,
0 -1px 0 #00000010 inset,
@@ -351,30 +351,31 @@
-1px 0 0 #00000010 inset;
}
- .board .list .note.dragging * {
+ .board .note.dragging * {
opacity: 0 !important;
}
/***/
- .board .list .note:last-child {
+ .board .note:last-child {
margin-bottom: 5px;
}
- .board .list .note .text,
- .board .list .note .edit {
+ .board .note .text,
+ .board .note .edit {
padding: 5px 10px;
margin-right: 15px;
font-size: 11px;
}
- .board .list .note .text {
+ .board .note .text {
min-height: 13px;
white-space: pre-wrap;
overflow-wrap: anywhere;
}
/***/
- .board .list .note .text a {
+ .board .head .text a,
+ .board .note .text a {
color: inherit;
cursor: default;
transition: none;
@@ -386,42 +387,45 @@
100% { color: inherit; }
}
- .board .list .note .text a:hover {
+ .board .head .text a:hover,
+ .board .note .text a:hover {
animation-name: whoomp;
animation-duration: 700ms;
}
- .reveal .board .list .note .text a {
+ .reveal .board .head .text a,
+ .reveal .board .note .text a {
color: #1489db;
cursor: pointer;
}
- .reveal .board .list .note .text a:hover {
+ .reveal .board .head .text a:hover,
+ .reveal .board .note .text a:hover {
animation-name: none;
}
/***/
- .board .list .note .edit {
+ .board .note .edit {
display: none;
border: none;
}
- .board .list .note.editing {
+ .board .note.editing {
box-shadow: none;
outline: 1px solid #8eaedd;
}
- .board .list .note.editing .text {
+ .board .note.editing .text {
display: none;
}
- .board .list .note.editing .edit {
+ .board .note.editing .edit {
display: block;
resize: none;
}
/***/
- .board .list .note .ops {
+ .board .note .ops {
position: absolute;
top: 0;
right: 0;
@@ -431,26 +435,26 @@
font-size: 9px;
}
- .board .list .note.editing .ops {
+ .board .note.editing .ops {
display: none;
}
- .board .list .note:hover .ops {
+ .board .note:hover .ops {
opacity: 1;
}
- .board .list .note .ops .teaser {
+ .board .note .ops .teaser {
display: block;
margin-top: 2px;
margin-right: 1px;
padding-right: 3px;
}
- .board .list .note .ops .teaser:before {
+ .board .note .ops .teaser:before {
content: '\2261';
}
- .board .list .note .ops .bulk {
+ .board .note .ops .bulk {
display: none;
background: #fff;
border-left: none;
@@ -460,57 +464,57 @@
border-bottom: 1px solid #ddd;
}
- .board .list .note .ops .bulk a {
+ .board .note .ops .bulk a {
padding-right: 4px;
}
- .board .list .note .ops:hover .bulk {
+ .board .note .ops:hover .bulk {
display: block;
}
- .board .list .note .ops:hover .teaser {
+ .board .note .ops:hover .teaser {
display: none;
}
/***/
- .board .list .note.raw {
+ .board .note.raw {
background: transparent;
box-shadow: none;
font-weight: 500;
}
- .board .list .note.raw.editing {
+ .board .note.raw.editing {
background: #fff;
}
- .board .list .note.raw .text {
+ .board .note.raw .text {
}
- .board .list .note.collapsed {
+ .board .note.collapsed {
height: 23px;
}
- .board .list .note.collapsed .text {
+ .board .note.collapsed .text {
height: 13px;
overflow: hidden;
line-height: 22px;
padding-top: 0;
}
- .board .list .note.collapsed .ops {
+ .board .note.collapsed .ops {
opacity: 1;
}
- .board .list .note.collapsed .ops .teaser {
+ .board .note.collapsed .ops .teaser {
padding: 1px 3px 0 1px;
}
- .board .list .note.collapsed .ops .teaser:before {
+ .board .note.collapsed .ops .teaser:before {
content: '_';
top: 1px;
}
- .board .list .note.collapsed:hover .ops .teaser:before {
+ .board .note.collapsed:hover .ops .teaser:before {
content: '\2261';
}
@@ -784,12 +788,12 @@
display: none;
}
- .board .list .note {
+ .board .note {
box-shadow: none;
outline: 1px solid #ccc;
}
- .board .list .note.raw {
+ .board .note.raw {
outline: none;
}
}
@@ -837,14 +841,15 @@
background: #202224;
}
- .dark .board .list .note {
+ .dark .board .note {
background: #2B2C2F;
background: linear-gradient(#2B2C2F, #27282B);
box-shadow: 0 1px 3px #0005;
text-shadow: 0 0 4px #0008;
}
- .dark.reveal .board .list .note .text a {
+ .dark.reveal .board .head .text a,
+ .dark.reveal .board .note .text a {
color: #fc0;
}
@@ -854,45 +859,46 @@
100% { color: inherit; }
}
- .dark .board .list .note .text a:hover {
+ .dark .board .head .text a:hover,
+ .dark .board .note .text a:hover {
animation-name: whoomp-dark;
}
- .dark .board .list .note.raw {
+ .dark .board .note.raw {
background: transparent;
box-shadow: none;
}
- .dark .board .list .note.raw .text {
+ .dark .board .note.raw .text {
color: #eee;
text-shadow: 0 0 4px #0008;
}
- .dark .board .list .note .ops .teaser {
+ .dark .board .note .ops .teaser {
color: #ccc;
}
- .dark .board .list .note .ops .bulk {
+ .dark .board .note .ops .bulk {
background: #202224;
border-left: 1px solid #111;
border-bottom: 1px solid #111;
}
- .dark .board .list .note.raw .ops .bulk {
+ .dark .board .note.raw .ops .bulk {
border: none;
}
- .dark .board .list .note .ops .bulk a {
+ .dark .board .note .ops .bulk a {
color: #ccc;
}
- .dark .board .list .note .ops .bulk a:hover {
+ .dark .board .note .ops .bulk a:hover {
color: #fc2;
}
- .dark .board .list .note.dragging,
- .dark .board .list .note.dragging.raw {
+ .dark .board .note.dragging,
+ .dark .board .note.dragging.raw {
background: #15171A;
box-shadow: 0 +1px 0 #000 inset,
0 -1px 0 #000 inset,
@@ -921,7 +927,7 @@
outline: 1px solid #bc9908;
}
- .dark .board .list .note.editing {
+ .dark .board .note.editing {
background: #111315;
outline: 1px solid #bc9908;
}
@@ -1020,21 +1026,21 @@
width: 290px;
}
- .z1 .board .list .note .text,
- .z1 .board .list .note .edit,
+ .z1 .board .note .text,
+ .z1 .board .note .edit,
.z1 .dragster {
font-size: 13px;
}
- .z1 .board .list .note .text {
+ .z1 .board .note .text {
min-height: 16px;
}
- .z1 .board .list .note.collapsed {
+ .z1 .board .note.collapsed {
height: 26px;
}
- .z1 .board .list .note.collapsed .text {
+ .z1 .board .note.collapsed .text {
height: 17px;
line-height: 25px;
}
@@ -1043,7 +1049,7 @@
line-height: 24px;
}
- .z1 .board .list .note .ops {
+ .z1 .board .note .ops {
font-size: 10px;
}
@@ -1279,23 +1285,13 @@
return $('tt .encoder').html(enc).text();
}
- function getHtml($item)
- {
- return htmlDecode($item.html());
- }
-
- function setHtml($item, html)
- {
- $item.html(htmlEncode(html));
- }
-
//
- function setNoteText($note, text)
+ function setText($note, text)
{
$note.attr('_text', text);
text = htmlEncode(text);
- hmmm = /(https?:\/\/[^\s]+)/mg;
+ hmmm = /\b(https?:\/\/[^\s]+)/mg;
text = text.replace(hmmm, function(url){
return '' + url + '';
@@ -1304,7 +1300,7 @@
$note.html(text);
}
- function getNoteText($note)
+ function getText($note)
{
return $note.attr('_text');
}
@@ -1319,7 +1315,7 @@
}
var $text = $('.wrap .board > .head .text');
- var title = getHtml( $text );
+ var title = getText( $text );
document.board.title = title;
document.title = 'NB - ' + (title || '(unnamed board)');
@@ -1360,18 +1356,18 @@
var $b_lists = $b.find('.lists');
$b[0].board_id = board.id;
- setHtml( $b.find('.head .text'), board.title );
+ setText( $b.find('.head .text'), board.title );
board.lists.forEach(function(list){
var $l = $ldiv.clone();
var $l_notes = $l.find('.notes');
- setHtml( $l.find('.head .text'), list.title );
+ setText( $l.find('.head .text'), list.title );
list.notes.forEach(function(n){
var $n = $ndiv.clone();
- setNoteText( $n.find('.text'), n.text );
+ setText( $n.find('.text'), n.text );
if (n.raw) $n.addClass('raw');
if (n.min) $n.addClass('collapsed');
$l_notes.append($n);
@@ -1398,15 +1394,15 @@
function saveBoard()
{
var $board = $('.wrap .board');
- var board = new Board( getHtml($board.find('> .head .text')) );
+ var board = new Board( getText($board.find('> .head .text')) );
$board.find('.list').each(function(){
var $list = $(this);
- var l = board.addList( getHtml($list.find('.head .text')) );
+ var l = board.addList( getText($list.find('.head .text')) );
$list.find('.note').each(function(){
var $note = $(this)
- var n = l.addNote( getNoteText($note.find('.text')) );
+ var n = l.addNote( getText($note.find('.text')) );
n.raw = $note.hasClass('raw');
n.min = $note.hasClass('collapsed');
});
@@ -1651,7 +1647,7 @@
$note[0]._collapsed = $note.hasClass('collapsed');
$note.removeClass('collapsed');
- $edit.val( getNoteText($text) );
+ $edit.val( getText($text) );
$edit.width( $text.width() );
$edit.height( $text.height() );
$note.addClass('editing');
@@ -1672,7 +1668,7 @@
//
var $text = $item.find('.text');
var text_now = $edit.val().trimRight();
- var text_was = getNoteText( $text );
+ var text_was = getText( $text );
//
var brand_new = $item.hasClass('brand-new');
@@ -1689,7 +1685,7 @@
else
if (text_now != text_was || brand_new)
{
- setNoteText( $text, text_now );
+ setText( $text, text_now );
saveBoard();
updatePageTitle();
@@ -2495,7 +2491,7 @@
});
//
- $('.board .list .note .edit').live('input propertychange', function(){
+ $('.board .note .edit').live('input propertychange', function(){
var delta = $(this).outerHeight() - $(this).height();