From 79422d1fb38a8420a25f8a73f3108331026bee65 Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Tue, 21 Mar 2017 21:06:35 -0600 Subject: [PATCH] Add static files, encryption Former-commit-id: 80a53c01301cf96c28a22e1018efac2ceca7a381 [formerly af1c7ae599f506fcceebc85f87cc345e76329da3] [formerly 1bf3deab458c0e1f376da2296b03ac4fe8fcf8e9 [formerly 5a923ae11a2de36ba8e99d1cb688b10e779d8e75]] Former-commit-id: e826a5ffd431d22f8c37ac51f1be2193de1c270f [formerly 1deadc5e9c4fc7ff98b48bba18be31b773b8bde7] Former-commit-id: 7fc964bb4c9d007010b1bb52665818212c0a2a8c --- main.go | 51 ++++++++++++++++++++++-- static/css/base-min.css | 11 +++++ static/css/github-markdown.css | 1 + static/css/menus-min.css | 7 ++++ static/js/jquery-1.8.3.js.REMOVED.git-id | 1 + templates/index.html | 15 +++---- 6 files changed, 75 insertions(+), 11 deletions(-) create mode 100644 static/css/base-min.css create mode 100644 static/css/github-markdown.css create mode 100644 static/css/menus-min.css create mode 100644 static/js/jquery-1.8.3.js.REMOVED.git-id diff --git a/main.go b/main.go index 0f58e9f..c24294d 100755 --- a/main.go +++ b/main.go @@ -5,12 +5,14 @@ import ( "net/http" "strconv" + "github.com/gin-contrib/static" "github.com/gin-gonic/gin" ) func main() { router := gin.Default() router.LoadHTMLGlob("templates/*") + router.Use(static.Serve("/static/", static.LocalFile("./static", true))) router.GET("/", func(c *gin.Context) { c.Redirect(302, "/"+randomAlliterateCombo()) @@ -23,6 +25,7 @@ func main() { router.POST("/update", handlePageUpdate) router.POST("/prime", handlePrime) router.POST("/lock", handleLock) + router.POST("/encrypt", handleEncrypt) router.Run(":8050") } @@ -78,13 +81,17 @@ func handlePageUpdate(c *gin.Context) { } log.Trace("Update: %v", json) p := Open(json.Page) - if !p.IsLocked { + var message string + if p.IsLocked { + message = "Locked" + } else if p.IsEncrypted { + message = "Encrypted" + } else { p.Update(json.NewText) p.Save() - c.JSON(http.StatusOK, gin.H{"success": true, "message": "Saved"}) - } else { - c.JSON(http.StatusOK, gin.H{"success": false, "message": "Locked"}) + message = "Saved" } + c.JSON(http.StatusOK, gin.H{"success": false, "message": message}) } func handlePrime(c *gin.Context) { @@ -132,3 +139,39 @@ func handleLock(c *gin.Context) { p.Save() c.JSON(http.StatusOK, gin.H{"success": true, "message": message}) } + +func handleEncrypt(c *gin.Context) { + type QueryJSON struct { + Page string `json:"page"` + Passphrase string `json:"passphrase"` + } + + var json QueryJSON + if c.BindJSON(&json) != nil { + c.String(http.StatusBadRequest, "Problem binding keys") + return + } + p := Open(json.Page) + var message string + if p.IsEncrypted { + decrypted, err2 := DecryptString(p.Text.GetCurrent(), json.Passphrase) + if err2 != nil { + c.JSON(http.StatusOK, gin.H{"success": false, "message": "Wrong password"}) + return + } + p.IsEncrypted = false + p.Erase() + p = Open(json.Page) + p.Update(decrypted) + message = "Decrypted" + } else { + p.IsEncrypted = true + p.Erase() + p = Open(json.Page) + encrypted, _ := EncryptString(p.Text.GetCurrent(), json.Passphrase) + p.Update(encrypted) + message = "Encrypted" + } + p.Save() + c.JSON(http.StatusOK, gin.H{"success": true, "message": message}) +} diff --git a/static/css/base-min.css b/static/css/base-min.css new file mode 100644 index 0000000..58b5cf2 --- /dev/null +++ b/static/css/base-min.css @@ -0,0 +1,11 @@ +/*! +Pure v0.6.2 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/ +/*! +normalize.css v^3.0 | MIT License | git.io/normalize +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block} \ No newline at end of file diff --git a/static/css/github-markdown.css b/static/css/github-markdown.css new file mode 100644 index 0000000..539fea9 --- /dev/null +++ b/static/css/github-markdown.css @@ -0,0 +1 @@ +@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format('woff');}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.5;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:16px;line-height:1.5;word-wrap:break-word;}.markdown-body .pl-c{color:#969896;}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0086b3;}.markdown-body .pl-e,.markdown-body .pl-en{color:#795da3;}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#333;}.markdown-body .pl-ent{color:#63a35c;}.markdown-body .pl-k{color:#a71d5d;}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#183691;}.markdown-body .pl-v{color:#ed6a43;}.markdown-body .pl-id{color:#b52a1d;}.markdown-body .pl-ii{color:#f8f8f8;background-color:#b52a1d;}.markdown-body .pl-sr .pl-cce{font-weight:bold;color:#63a35c;}.markdown-body .pl-ml{color:#693a17;}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:bold;color:#1d3e81;}.markdown-body .pl-mq{color:#008080;}.markdown-body .pl-mi{font-style:italic;color:#333;}.markdown-body .pl-mb{font-weight:bold;color:#333;}.markdown-body .pl-md{color:#bd2c00;background-color:#ffecec;}.markdown-body .pl-mi1{color:#55a532;background-color:#eaffea;}.markdown-body .pl-mdr{font-weight:bold;color:#795da3;}.markdown-body .pl-mo{color:#1d3e81;}.markdown-body .octicon{display:inline-block;vertical-align:text-top;fill:currentColor;}.markdown-body a{background-color:transparent;-webkit-text-decoration-skip:objects;}.markdown-body a:active,.markdown-body a:hover{outline-width:0;}.markdown-body strong{font-weight:inherit;}.markdown-body strong{font-weight:bolder;}.markdown-body h1{font-size:2em;margin:0.67em 0;}.markdown-body img{border-style:none;}.markdown-body svg:not(:root){overflow:hidden;}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em;}.markdown-body hr{box-sizing:content-box;height:0;overflow:visible;}.markdown-body input{font:inherit;margin:0;}.markdown-body input{overflow:visible;}.markdown-body [type="checkbox"]{box-sizing:border-box;padding:0;}.markdown-body *{box-sizing:border-box;}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit;}.markdown-body a{color:#4078c0;text-decoration:none;}.markdown-body a:hover,.markdown-body a:active{text-decoration:underline;}.markdown-body strong{font-weight:600;}.markdown-body hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #ddd;}.markdown-body hr::before{display:table;content:"";}.markdown-body hr::after{display:table;clear:both;content:"";}.markdown-body table{border-spacing:0;border-collapse:collapse;}.markdown-body td,.markdown-body th{padding:0;}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:0;margin-bottom:0;}.markdown-body h1{font-size:32px;font-weight:600;}.markdown-body h2{font-size:24px;font-weight:600;}.markdown-body h3{font-size:20px;font-weight:600;}.markdown-body h4{font-size:16px;font-weight:600;}.markdown-body h5{font-size:14px;font-weight:600;}.markdown-body h6{font-size:12px;font-weight:600;}.markdown-body p{margin-top:0;margin-bottom:10px;}.markdown-body blockquote{margin:0;}.markdown-body ul,.markdown-body ol{padding-left:0;margin-top:0;margin-bottom:0;}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman;}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha;}.markdown-body dd{margin-left:0;}.markdown-body code{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:12px;}.markdown-body pre{margin-top:0;margin-bottom:0;font:12px Consolas,"Liberation Mono",Menlo,Courier,monospace;}.markdown-body .octicon{vertical-align:text-bottom;}.markdown-body input{-webkit-font-feature-settings:"liga" 0;font-feature-settings:"liga" 0;}.markdown-body::before{display:table;content:"";}.markdown-body::after{display:table;clear:both;content:"";}.markdown-body>*:first-child{margin-top:0!important;}.markdown-body>*:last-child{margin-bottom:0!important;}.markdown-body a:not([href]){color:inherit;text-decoration:none;}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1;}.markdown-body .anchor:focus{outline:none;}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px;}.markdown-body hr{height:0.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0;}.markdown-body blockquote{padding:0 1em;color:#777;border-left:0.25em solid #ddd;}.markdown-body blockquote>:first-child{margin-top:0;}.markdown-body blockquote>:last-child{margin-bottom:0;}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb;}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden;}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none;}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible;}.markdown-body h1{padding-bottom:0.3em;font-size:2em;border-bottom:1px solid #eee;}.markdown-body h2{padding-bottom:0.3em;font-size:1.5em;border-bottom:1px solid #eee;}.markdown-body h3{font-size:1.25em;}.markdown-body h4{font-size:1em;}.markdown-body h5{font-size:0.875em;}.markdown-body h6{font-size:0.85em;color:#777;}.markdown-body ul,.markdown-body ol{padding-left:2em;}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0;}.markdown-body li>p{margin-top:16px;}.markdown-body li+li{margin-top:0.25em;}.markdown-body dl{padding:0;}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold;}.markdown-body dl dd{padding:0 16px;margin-bottom:16px;}.markdown-body table{display:block;width:100%;overflow:auto;}.markdown-body table th{font-weight:bold;}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #ddd;}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc;}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8;}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff;}.markdown-body code{padding:0;padding-top:0.2em;padding-bottom:0.2em;margin:0;font-size:85%;background-color:rgba(0,0,0,0.04);border-radius:3px;}.markdown-body code::before,.markdown-body code::after{letter-spacing:-0.2em;content:"\00a0";}.markdown-body pre{word-wrap:normal;}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0;}.markdown-body .highlight{margin-bottom:16px;}.markdown-body .highlight pre{margin-bottom:0;word-break:normal;}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px;}.markdown-body pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0;}.markdown-body pre code::before,.markdown-body pre code::after{content:normal;}.markdown-body .pl-0{padding-left:0!important;}.markdown-body .pl-1{padding-left:3px!important;}.markdown-body .pl-2{padding-left:6px!important;}.markdown-body .pl-3{padding-left:12px!important;}.markdown-body .pl-4{padding-left:24px!important;}.markdown-body .pl-5{padding-left:36px!important;}.markdown-body .pl-6{padding-left:48px!important;}.markdown-body .full-commit .btn-outline:not(:disabled):hover{color:#4078c0;border:1px solid #4078c0;}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px Consolas,"Liberation Mono",Menlo,Courier,monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb;}.markdown-body :checked+.radio-label{position:relative;z-index:1;border-color:#4078c0;}.markdown-body .task-list-item{list-style-type:none;}.markdown-body .task-list-item+.task-list-item{margin-top:3px;}.markdown-body .task-list-item input{margin:0 0.2em 0.25em -1.6em;vertical-align:middle;}.markdown-body hr{border-bottom-color:#eee;} \ No newline at end of file diff --git a/static/css/menus-min.css b/static/css/menus-min.css new file mode 100644 index 0000000..07359a3 --- /dev/null +++ b/static/css/menus-min.css @@ -0,0 +1,7 @@ +/*! +Pure v0.6.2 +Copyright 2013 Yahoo! +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/ +.pure-menu{box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-item,.pure-menu-list{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-heading,.pure-menu-link{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-separator{display:inline-block;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-active>.pure-menu-children,.pure-menu-allow-hover:hover>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-horizontal .pure-menu-children .pure-menu-separator,.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-horizontal .pure-menu-children .pure-menu-separator{display:block;width:auto}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-disabled,.pure-menu-heading,.pure-menu-link{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:focus,.pure-menu-link:hover{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000} \ No newline at end of file diff --git a/static/js/jquery-1.8.3.js.REMOVED.git-id b/static/js/jquery-1.8.3.js.REMOVED.git-id new file mode 100644 index 0000000..14e1991 --- /dev/null +++ b/static/js/jquery-1.8.3.js.REMOVED.git-id @@ -0,0 +1 @@ +8c24ffc610d6f5de6ffa9c992030800249612b9c \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 1ca6f41..dc3c48c 100755 --- a/templates/index.html +++ b/templates/index.html @@ -5,10 +5,10 @@ - - - - + + + +