Start supporting new semantics.
This commit is contained in:
parent
10ee666e7d
commit
c7b7795261
@ -1,3 +1,5 @@
|
||||
- Update 4chan namespaces support.
|
||||
|
||||
### 3.20.4 - *2014-04-09*
|
||||
|
||||
- Better handling of webm playback errors.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<a href="/#{thread.board}/res/#{thread.ID}" class="thumb"></a>
|
||||
<a href="/#{thread.board}/thread/#{thread.ID}" class="thumb"></a>
|
||||
<div class="thread-stats" title="Post count / File count / Page count">
|
||||
<span class="post-count">#{postCount}</span> / <span class="file-count">#{fileCount}</span> / <span class="page-count">#{pageCount}</span>
|
||||
<span class="thread-icons"></span>
|
||||
|
||||
@ -42,14 +42,14 @@ Build =
|
||||
name: data.filename + data.ext
|
||||
timestamp: "#{data.tim}#{data.ext}"
|
||||
url: if boardID is 'f'
|
||||
"//i.4cdn.org/#{boardID}/src/#{data.filename}#{data.ext}"
|
||||
"//i.4cdn.org/#{boardID}/#{data.filename}#{data.ext}"
|
||||
else
|
||||
"//i.4cdn.org/#{boardID}/src/#{data.tim}#{data.ext}"
|
||||
"//i.4cdn.org/#{boardID}/#{data.tim}#{data.ext}"
|
||||
height: data.h
|
||||
width: data.w
|
||||
MD5: data.md5
|
||||
size: data.fsize
|
||||
turl: "//#{Build.thumbRotate()}.t.4cdn.org/#{boardID}/thumb/#{data.tim}s.jpg"
|
||||
turl: "//#{Build.thumbRotate()}.t.4cdn.org/#{boardID}/#{data.tim}s.jpg"
|
||||
theight: data.tn_h
|
||||
twidth: data.tn_w
|
||||
isSpoiler: !!data.spoiler
|
||||
@ -179,7 +179,7 @@ Build =
|
||||
if isOP and g.VIEW is 'index'
|
||||
pageNum = Index.liveThreadIDs.indexOf(postID) // Index.threadsNumPerPage
|
||||
pageIcon = " <span class=page-num title='This thread is on page #{pageNum} in the original index.'>Page #{pageNum}</span>"
|
||||
replyLink = " <span>[<a href='/#{boardID}/res/#{threadID}' class=replylink>Reply</a>]</span>"
|
||||
replyLink = " <span>[<a href='/#{boardID}/thread/#{threadID}' class=replylink>Reply</a>]</span>"
|
||||
else
|
||||
pageIcon = replyLink = ''
|
||||
|
||||
@ -207,12 +207,12 @@ Build =
|
||||
' </span> ' +
|
||||
"<span class=dateTime data-utc=#{dateUTC}>#{date}</span> " +
|
||||
"<span class='postNum'>" +
|
||||
"<a href=#{"/#{boardID}/res/#{threadID}#p#{postID}"} title='Highlight this post'>No.</a>" +
|
||||
"<a href=#{"/#{boardID}/thread/#{threadID}#p#{postID}"} title='Highlight this post'>No.</a>" +
|
||||
"<a href='#{
|
||||
if g.VIEW is 'thread' and g.THREADID is threadID
|
||||
"javascript:quote(#{postID})"
|
||||
else
|
||||
"/#{boardID}/res/#{threadID}#q#{postID}"
|
||||
"/#{boardID}/thread/#{threadID}#q#{postID}"
|
||||
}' title='Quote this post'>#{postID}</a>" +
|
||||
pageIcon + sticky + closed + replyLink +
|
||||
'</span>' +
|
||||
@ -227,7 +227,7 @@ Build =
|
||||
for quote in $$ '.quotelink', container
|
||||
href = quote.getAttribute 'href'
|
||||
continue if href[0] is '/' # Cross-board quote, or board link
|
||||
quote.href = "/#{boardID}/res/#{href}" # Fix pathnames
|
||||
quote.href = "/#{boardID}/thread/#{href}" # Fix pathnames
|
||||
|
||||
container
|
||||
|
||||
@ -239,7 +239,7 @@ Build =
|
||||
$.el 'a',
|
||||
className: 'summary'
|
||||
textContent: text.join ' '
|
||||
href: "/#{boardID}/res/#{threadID}"
|
||||
href: "/#{boardID}/thread/#{threadID}"
|
||||
thread: (board, data) ->
|
||||
Build.spoilerRange[board] = data.custom_spoiler
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ Get =
|
||||
|
||||
root.textContent = "Loading post No.#{postID}..."
|
||||
if threadID
|
||||
$.cache "//a.4cdn.org/#{boardID}/res/#{threadID}.json", ->
|
||||
$.cache "//a.4cdn.org/#{boardID}/thread/#{threadID}.json", ->
|
||||
Get.fetchedPost @, boardID, threadID, postID, root, context
|
||||
else if url = Redirect.to 'post', {boardID, postID}
|
||||
$.cache url,
|
||||
@ -219,7 +219,7 @@ Get =
|
||||
width: data.media.media_w
|
||||
MD5: data.media.media_hash
|
||||
size: data.media.media_size
|
||||
turl: data.media.thumb_link or "//t.4cdn.org/#{boardID}/thumb/#{data.media.preview_orig}"
|
||||
turl: data.media.thumb_link or "//t.4cdn.org/#{boardID}/#{data.media.preview_orig}"
|
||||
theight: data.media.preview_h
|
||||
twidth: data.media.preview_w
|
||||
isSpoiler: data.media.spoiler is '1'
|
||||
|
||||
@ -5,10 +5,8 @@ Main =
|
||||
return if g.BOARD.ID in ['z', 'fk']
|
||||
g.VIEW =
|
||||
switch pathname[2]
|
||||
when 'res'
|
||||
'thread'
|
||||
when 'catalog'
|
||||
'catalog'
|
||||
when 'thread', 'catalog'
|
||||
pathname[2]
|
||||
else
|
||||
'index'
|
||||
if g.VIEW is 'catalog'
|
||||
|
||||
@ -98,7 +98,7 @@ class Post
|
||||
return unless match = quotelink.href.match ///
|
||||
boards\.4chan\.org/
|
||||
([^/]+) # boardID
|
||||
/res/\d+#p
|
||||
/thread/\d+#p
|
||||
(\d+) # postID
|
||||
$
|
||||
///
|
||||
@ -131,7 +131,7 @@ class Post
|
||||
@file.thumbURL = if that.isArchived
|
||||
thumb.src
|
||||
else
|
||||
"#{location.protocol}//t.4cdn.org/#{@board}/thumb/#{@file.URL.match(/(\d+)\./)[1]}s.jpg"
|
||||
"#{location.protocol}//t.4cdn.org/#{@board}/#{@file.URL.match(/(\d+)\./)[1]}s.jpg"
|
||||
@file.name = if nameNode = $ 'span', fileText
|
||||
nameNode.title or nameNode.textContent
|
||||
else
|
||||
|
||||
@ -298,7 +298,7 @@ Settings =
|
||||
data =
|
||||
isReply: true
|
||||
file:
|
||||
URL: '//i.4cdn.org/g/src/1334437723720.jpg'
|
||||
URL: '//i.4cdn.org/g/1334437723720.jpg'
|
||||
name: 'd9bb2efc98dd0df141a94399ff5880b7.jpg'
|
||||
size: '276 KB'
|
||||
sizeInBytes: 276 * 1024
|
||||
|
||||
@ -180,7 +180,7 @@ ImageExpand =
|
||||
if src[2] is 'i.4cdn.org'
|
||||
URL = Redirect.to 'file',
|
||||
boardID: src[3]
|
||||
filename: src[5].replace /\?.+$/, ''
|
||||
filename: src[4].replace /\?.+$/, ''
|
||||
if URL
|
||||
setTimeout ImageExpand.expand, 10000, post, URL
|
||||
return
|
||||
@ -198,7 +198,7 @@ ImageExpand =
|
||||
type: 'head'
|
||||
<% } else { %>
|
||||
# XXX CORS for i.4cdn.org WHEN?
|
||||
$.ajax "//a.4cdn.org/#{post.board}/res/#{post.thread}.json", onload: ->
|
||||
$.ajax "//a.4cdn.org/#{post.board}/thread/#{post.thread}.json", onload: ->
|
||||
return if @status isnt 200
|
||||
for postObj in @response.posts
|
||||
break if postObj.no is post.ID
|
||||
|
||||
@ -47,7 +47,7 @@ ImageHover =
|
||||
if src[2] is 'i.4cdn.org'
|
||||
URL = Redirect.to 'file',
|
||||
boardID: src[3]
|
||||
filename: src[5].replace /\?.+$/, ''
|
||||
filename: src[4].replace /\?.+$/, ''
|
||||
if URL
|
||||
@src = URL
|
||||
return
|
||||
@ -65,7 +65,7 @@ ImageHover =
|
||||
type: 'head'
|
||||
<% } else { %>
|
||||
# XXX CORS for i.4cdn.org WHEN?
|
||||
$.ajax "//a.4cdn.org/#{post.board}/res/#{post.thread}.json", onload: ->
|
||||
$.ajax "//a.4cdn.org/#{post.board}/thread/#{post.thread}.json", onload: ->
|
||||
return if @status isnt 200
|
||||
for postObj in @response.posts
|
||||
break if postObj.no is post.ID
|
||||
|
||||
@ -39,7 +39,7 @@ ExpandThread =
|
||||
expand: (thread, a, threadRoot) ->
|
||||
ExpandThread.statuses[thread] = status = {}
|
||||
a.textContent = ExpandThread.text '...', a.textContent.match(/\d+/g)...
|
||||
status.req = $.cache "//a.4cdn.org/#{thread.board}/res/#{thread}.json", ->
|
||||
status.req = $.cache "//a.4cdn.org/#{thread.board}/thread/#{thread}.json", ->
|
||||
delete status.req
|
||||
ExpandThread.parse @, thread, a
|
||||
contract: (thread, a, threadRoot) ->
|
||||
|
||||
@ -187,7 +187,7 @@ Keybinds =
|
||||
|
||||
open: (thread, tab) ->
|
||||
return if g.VIEW isnt 'index'
|
||||
url = "/#{thread.board}/res/#{thread}"
|
||||
url = "/#{thread.board}/thread/#{thread}"
|
||||
if tab
|
||||
$.open url
|
||||
else
|
||||
|
||||
@ -153,7 +153,7 @@ ThreadUpdater =
|
||||
ThreadUpdater.count()
|
||||
ThreadUpdater.set 'timer', '...'
|
||||
ThreadUpdater.req?.abort()
|
||||
url = "//a.4cdn.org/#{ThreadUpdater.thread.board}/res/#{ThreadUpdater.thread}.json"
|
||||
url = "//a.4cdn.org/#{ThreadUpdater.thread.board}/thread/#{ThreadUpdater.thread}.json"
|
||||
ThreadUpdater.req = $.ajax url,
|
||||
onabort: ThreadUpdater.cb.load
|
||||
onloadend: ThreadUpdater.cb.load
|
||||
|
||||
@ -99,7 +99,7 @@ ThreadWatcher =
|
||||
return if data.isDead
|
||||
{fetchCount} = ThreadWatcher
|
||||
fetchCount.fetching++
|
||||
$.ajax "//a.4cdn.org/#{boardID}/res/#{threadID}.json",
|
||||
$.ajax "//a.4cdn.org/#{boardID}/thread/#{threadID}.json",
|
||||
onloadend: ->
|
||||
fetchCount.fetched++
|
||||
if fetchCount.fetched is fetchCount.fetching
|
||||
@ -137,7 +137,7 @@ ThreadWatcher =
|
||||
if data.isDead
|
||||
href = Redirect.to 'thread', {boardID, threadID}
|
||||
link = $.el 'a',
|
||||
href: href or "/#{boardID}/res/#{threadID}"
|
||||
href: href or "/#{boardID}/thread/#{threadID}"
|
||||
textContent: data.excerpt
|
||||
title: data.excerpt
|
||||
|
||||
|
||||
@ -587,9 +587,9 @@ QR =
|
||||
QR.cooldown.set {req, post, isReply, threadID}
|
||||
|
||||
URL = if threadID is postID # new thread
|
||||
"/#{g.BOARD}/res/#{threadID}"
|
||||
"/#{g.BOARD}/thread/#{threadID}"
|
||||
else if g.VIEW is 'index' and !QR.cooldown.auto and Conf['Open Post in New Tab'] # replying from the index
|
||||
"/#{g.BOARD}/res/#{threadID}#p#{postID}"
|
||||
"/#{g.BOARD}/thread/#{threadID}#p#{postID}"
|
||||
if URL
|
||||
if Conf['Open Post in New Tab']
|
||||
$.open URL
|
||||
|
||||
@ -49,7 +49,7 @@ QuoteBacklink =
|
||||
buildBacklink: (quoted, quoter) ->
|
||||
frag = QuoteBacklink.frag.cloneNode true
|
||||
a = frag.lastElementChild
|
||||
a.href = "/#{quoter.board}/res/#{quoter.thread}#p#{quoter}"
|
||||
a.href = "/#{quoter.board}/thread/#{quoter.thread}#p#{quoter}"
|
||||
a.textContent = text = QuoteBacklink.funk quoter.ID
|
||||
if quoter.isDead
|
||||
$.addClass a, 'deadlink'
|
||||
|
||||
@ -40,7 +40,7 @@ Quotify =
|
||||
# Don't add 'deadlink' when quotifying in an archived post,
|
||||
# and we don't know if the post died yet.
|
||||
a = $.el 'a',
|
||||
href: "/#{boardID}/res/#{post.thread}#p#{postID}"
|
||||
href: "/#{boardID}/thread/#{post.thread}#p#{postID}"
|
||||
className: if post.isDead then 'quotelink deadlink' else 'quotelink'
|
||||
textContent: quote
|
||||
$.extend a.dataset, {boardID, threadID: post.thread.ID, postID}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user