1
0
Fork 0

Merge pull request #40 from msoedov/icon

Favicon and cleanup
This commit is contained in:
Alex Miasoiedov 2018-03-05 20:37:29 -05:00 committed by GitHub
commit 230ea3af6a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 77 additions and 72 deletions

View file

@ -1,19 +1,23 @@
GIT_SUMMARY := $(shell git describe --tags --dirty --always)
REPO=msoedov/hacker-slides
DOCKER_IMAGE := $(REPO):$(GIT_SUMMARY)
default: repo
repo:
@echo $(REPO):$(GIT_SUMMARY)
@echo $(DOCKER_IMAGE)
build:
@GOOS=linux CGO_ENABLE=0 go build main.go
@docker build -t $(REPO):$(GIT_SUMMARY) .
@docker tag $(REPO):$(GIT_SUMMARY) $(REPO)
@docker build -t $(DOCKER_IMAGE) .
@docker tag $(DOCKER_IMAGE) $(REPO)
push:
@docker push $(REPO):$(GIT_SUMMARY)
@docker push $(DOCKER_IMAGE)
@docker push $(REPO)
r:
@docker run -it -p 8080:8080 $(REPO):$(GIT_SUMMARY)
@docker run -it -p 8080:8080 $(DOCKER_IMAGE)
release:
@build
@push

View file

@ -73,7 +73,7 @@ func NewApp() *gin.Engine {
mustHaveSession := func(c *gin.Context) (string, error) {
session := sessions.Default(c)
val := session.Get("name")
emptySession := errors.New("Emtpy session")
emptySession := errors.New("Empty session")
if val == nil {
c.String(400, "No context")
return "", emptySession

View file

@ -1,4 +1,4 @@
$(function() {
$(function () {
function slideSeparatorLines(text) {
var lines = text.split('\n');
@ -19,7 +19,7 @@ $(function() {
var text = ace.edit("editor").getValue();
var separatorPositions = slideSeparatorLines(text);
var slideNumber = separatorPositions.length;
separatorPositions.every(function(pos, num) {
separatorPositions.every(function (pos, num) {
if (pos >= cursorLine) {
slideNumber = num;
return false;
@ -35,14 +35,14 @@ $(function() {
editor.getSession().setMode("ace/mode/markdown");
editor.getSession().setUseWrapMode(true);
editor.setShowPrintMargin(true);
$.get('/slides.md', function(data) {
$.get('/slides.md', function (data) {
editor.setValue(data, -1);
});
var lastSRow = -1;
ace.edit('editor').getSession().selection.on('changeCursor', function(e) {
ace.edit('editor').getSession().selection.on('changeCursor', function (e) {
var cursorRow = ace.edit('editor').getCursorPosition().row;
if(lastSRow === cursorRow){
return; // no update
if (lastSRow === cursorRow) {
return; // no update
}
lastSRow = cursorRow;
var currentSlide = currentCursorSlide(cursorRow);

View file

@ -1,11 +1,11 @@
$(function() {
$(function () {
function reloadMarkdown() {
$('#slides-frame')[0].contentWindow.postMessage(JSON.stringify({
method: 'reloadMarkdown'
}), window.location.origin);
}
window.save = function() {
window.save = function () {
var editor = ace.edit("editor");
$.ajax("/slides.md", {

View file

@ -17,58 +17,58 @@ function initializeReveal() {
// Optional reveal.js plugins
dependencies: [{
src: '/static/reveal.js/lib/js/classList.js',
condition: function() {
return !document.body.classList;
}
},
// Interpret Markdown in <section> elements
{
src: '/static/reveal.js/plugin/markdown/marked.js',
condition: function() {
return !!document.querySelector('[data-markdown]');
}
}, {
src: '/static/reveal.js/plugin/markdown/markdown.js',
condition: function() {
return !!document.querySelector('[data-markdown]');
}
},
// Syntax highlight for <code> elements
{
src: '/static/reveal.js/plugin/highlight/highlight.js',
async: true,
callback: function() {
hljs.initHighlightingOnLoad();
}
},
// Zoom in and out with Alt+click
{
src: '/static/reveal.js/plugin/zoom-js/zoom.js',
async: true
},
// Speaker notes
{
src: '/static/reveal.js/plugin/notes/notes.js',
async: true
},
// MathJax
{
src: '/static/reveal.js/plugin/math/math.js',
async: true
},
{
src: '/static/reveal.js/lib/js/classList.js',
condition: function() {
return !document.body.classList;
}
src: '/static/reveal.js/lib/js/classList.js',
condition: function () {
return !document.body.classList;
}
},
// Interpret Markdown in <section> elements
{
src: '/static/reveal.js/plugin/markdown/marked.js',
condition: function () {
return !!document.querySelector('[data-markdown]');
}
}, {
src: '/static/reveal.js/plugin/markdown/markdown.js',
condition: function () {
return !!document.querySelector('[data-markdown]');
}
},
// Syntax highlight for <code> elements
{
src: '/static/reveal.js/plugin/highlight/highlight.js',
async: true,
callback: function () {
hljs.initHighlightingOnLoad();
}
},
// Zoom in and out with Alt+click
{
src: '/static/reveal.js/plugin/zoom-js/zoom.js',
async: true
},
// Speaker notes
{
src: '/static/reveal.js/plugin/notes/notes.js',
async: true
},
// MathJax
{
src: '/static/reveal.js/plugin/math/math.js',
async: true
},
{
src: '/static/reveal.js/lib/js/classList.js',
condition: function () {
return !document.body.classList;
}
}
]
});
@ -76,8 +76,8 @@ function initializeReveal() {
}
function highlightAnyCodeBlocks() {
$(document).ready(function() {
$('pre code').each(function(i, block) {
$(document).ready(function () {
$('pre code').each(function (i, block) {
hljs.highlightBlock(block);
});
});
@ -108,7 +108,7 @@ function reloadMarkdown() {
}
function externalLinksInNewWindow() {
$(document.links).filter(function() {
$(document.links).filter(function () {
return this.hostname != window.location.hostname;
}).attr('target', '_blank');
}
@ -119,7 +119,7 @@ initializeReveal();
function themesCtrl() {
var defaultTheme = "black.css",
currentTheme = localStorage.getItem('theme?') ||
defaultTheme;
defaultTheme;
function setTheme(theme) {
cssEl = $("#theme");
@ -145,12 +145,12 @@ function themesCtrl() {
"white.css",
];
themeEl = $("#themes");
availableThemes.forEach(function(theme) {
availableThemes.forEach(function (theme) {
elem = $("<option value=" + theme + ">" + theme + "</option>");
themeEl.append(elem);
})
themeEl.val(currentTheme);
themeEl.change(function() {
themeEl.change(function () {
val = themeEl.val()
setTheme(val);
});

View file

@ -9,6 +9,7 @@
<title>Hacker Slides</title>
<link rel="stylesheet" href="/static/css/index.css">
<link href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIsSURBVFhH7dg/SFVhGMfxg4FgJGVEGQSBBILYUAQl2NCftUkanKwhcmkQsq0iLIKiGiSwpQYDhSAadIlSl+aIpmzQzdwUTMToz/d3vQcuL885vnrP+16w+4MPeN7He9/nXj3nvOdN/oecxBUcLB1t5Dj6cKR0VMNcwx/8xQIuYhC/ymMrOIua5DBWoUbyzKMR0TMEqyFLL6JnDlYzlg+ImlOwGsmyjr2Ikla8gtVInlvYg2C5hGmkZ+12rGEMJ1BoXsOacLt0GdI3WkiaoU9uTVSN7ygsHXiMj/gGa8LN6Jr5FRO4A11Hg0WfXpM+wxN8KR+ndNZO4jamymOPEC03oUlflo6S5Bh+Im1Q33QTdGnRneQ39DvRshu670o7zlUcp05DCwn93IVCswtH0RbJIXhH347+mdM/Vyw6Cb1yBtYbhLYIr3TDeoPQluCVeoMZ6g1Wq95gtYI0qMXrfeh+69a0annnjOUJ0qCWXsow3NoFaJnmjmcJ0uAMlHG4tcs44IzlCdLgGyhaXrm1G1DSXYbNBGnwORRrcXEPirZE3JolSIN3oehG79ZeQPkMt2YJ0mA/GqAVs1t7C+U93JrFu8GtLLd6oG03q/YJyiisuusHvKJnCfchKIu21jqdsdQslKew6q6H8I7vkl/baudhTbgMZT+s11aq3PwsPAOwGhRNXpNoa1dbFyPI23XQLfABrkMnU7RchdVQFu0qbOnJrYjsQ4snPSnuxCTJP2DL0jFAlrNjAAAAAElFTkSuQmCC" rel="icon" type="image/x-icon">
</head>
<body>