You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.0 KiB
127 lines
3.0 KiB
var SemanticUIColors = [
|
|
'red',
|
|
'orange',
|
|
'yellow',
|
|
'olive',
|
|
'green',
|
|
'teal',
|
|
'blue',
|
|
'violet',
|
|
'purple',
|
|
'pink',
|
|
'brown'
|
|
]
|
|
|
|
$(document).ready(function() {
|
|
$('.dream-flip-toggle').click(function() {
|
|
var c = $('.flip-container')
|
|
|
|
if (dreamBodyBgSwitchIndex === 0) {
|
|
c.css('overflow', 'hidden')
|
|
setBackground(dreamBody, dreamBodyBgSwitch[1])
|
|
dreamBodyBgSwitchIndex = 1
|
|
$('.flipper .front .ui.menu').css('overflow-x', '')
|
|
} else {
|
|
c.removeAttr('style')
|
|
setBackground(dreamBody, dreamBodyBgSwitch[0])
|
|
dreamBodyBgSwitchIndex = 0
|
|
$('.flipper .front .ui.menu').css('overflow-x', 'auto')
|
|
}
|
|
|
|
c.toggleClass('flip-it')
|
|
})
|
|
|
|
var postList = $('.post-list')
|
|
var pMaxHeight = $(window).height() - $('.ui.menu').outerHeight(true)
|
|
postList.css('max-height', pMaxHeight)
|
|
|
|
$('.ui.cards .image')
|
|
.dimmer({
|
|
opacity: 0.6,
|
|
closable: false
|
|
})
|
|
.dimmer('show')
|
|
|
|
$('.ui.accordion').accordion()
|
|
|
|
$('#tag-category-pop').click(function() {
|
|
var dt = $('.dream-header-tags.dream-tags')
|
|
var dc = $('.dream-categories')
|
|
var dtDisplay = dt.css('display')
|
|
var dcDisplay = dc.css('display')
|
|
if (dtDisplay === 'none') {
|
|
dt.css('display', 'block')
|
|
dc.css('display', 'block')
|
|
} else {
|
|
dt.css('display', 'none')
|
|
dc.css('display', 'none')
|
|
}
|
|
})
|
|
|
|
setSemanticUIColor()
|
|
})
|
|
|
|
function randomInt(min, max) {
|
|
min = Math.ceil(min)
|
|
max = Math.floor(max)
|
|
random = Math.floor(Math.random() * (max - min)) + min
|
|
return random
|
|
}
|
|
|
|
function setSemanticUIColor() {
|
|
var tagsParent = $('.dream-tags')
|
|
tagsParent.children().map(function() {
|
|
$(this).addClass(SemanticUIColors[randomInt(0, SemanticUIColors.length)])
|
|
})
|
|
}
|
|
|
|
function savePostAsImg() {
|
|
var postList = $('.post-list')
|
|
var useWidth = postList.prop('scrollWidth')
|
|
var useHeight = postList.prop('scrollHeight')
|
|
var removedHeight = $('.post-list .post-disqus-area').prop('scrollHeight')
|
|
|
|
var canvas = document.createElement('canvas')
|
|
var width = useWidth
|
|
var height = useHeight - removedHeight
|
|
var scale = 2
|
|
canvas.width = width * scale
|
|
canvas.height = height * scale
|
|
canvas.getContext('2d').scale(scale, scale)
|
|
|
|
html2canvas(document.querySelector('.post-single-main'), {
|
|
canvas: canvas,
|
|
width: width,
|
|
height: height,
|
|
scale: scale,
|
|
useCORS: true
|
|
}).then(function(canvas) {
|
|
var ctx = canvas.getContext('2d')
|
|
|
|
ctx.mozImageSmoothingEnabled = false
|
|
ctx.webkitImageSmoothingEnabled = false
|
|
ctx.msImageSmoothingEnabled = false
|
|
ctx.imageSmoothingEnabled = false
|
|
|
|
var data = canvas.toDataURL('image/png')
|
|
|
|
var link = document.createElement('a')
|
|
link.href = URL.createObjectURL(dataURLtoBlob(data))
|
|
link.download = 'screenshot.png'
|
|
link.click()
|
|
})
|
|
return false
|
|
}
|
|
|
|
function dataURLtoBlob(dataurl) {
|
|
var arr = dataurl.split(','),
|
|
mime = arr[0].match(/:(.*?);/)[1],
|
|
bstr = atob(arr[1]),
|
|
n = bstr.length,
|
|
u8arr = new Uint8Array(n)
|
|
while (n--) {
|
|
u8arr[n] = bstr.charCodeAt(n)
|
|
}
|
|
return new Blob([u8arr], { type: mime })
|
|
}
|