Created
September 20, 2016 07:01
-
-
Save tpdns90321/38378aae760190b57b92f793e90df8be to your computer and use it in GitHub Desktop.
Just Fun and I just used private.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
func BootstrapTemplate() string { | |
jquery := "<script src=\"https://code.jquery.com/jquery-3.1.0.min.js\" integrity=\"sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=\" crossorigin=\"anonymous\"></script>" | |
css := "<link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\" rel=\"stylesheet\" integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u\" crossorigin=\"anonymous\">" | |
option := "<link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css\" integrity=\"sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp\" crossorigin=\"anonymous\">" | |
script := "<script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\" integrity=\"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa\" crossorigin=\"anonymous\"></script>" | |
return jquery + "\n" + css + "\n" + option + "\n" + script + "\n" | |
} | |
func MainTemplate(title string) string { | |
return "<html>\n" + "<head>\n" + BootstrapTemplate() + "<title>" + title + "</title></head>\n<body>" | |
} | |
var MainEndTemplate = "</body></html>" | |
type Navbar struct { | |
name string | |
link string | |
press bool | |
} | |
func Page(title, body string) string { | |
return MainTemplate(title) + body + MainEndTemplate | |
} | |
var ContainerTemplate string = "<div class=\"container\">\n" | |
var ContainerEndTemplate string = "</div>\n" | |
func NewNavbar(name, link string, press bool) *Navbar { | |
return &Navbar{name, link, press} | |
} | |
func (nav *Navbar) Elem() string { | |
if nav.press { | |
return "<li class=\"active\"><a href=\"" + nav.link + "\">" + nav.name + "</a></li>\n" | |
} | |
return "<li><a href=\"" + nav.link + "\">" + nav.name + "</a></li>\n" | |
} | |
type NavbarMenu []*Navbar | |
func (menu *NavbarMenu) Add(nav *Navbar) { | |
*menu = append(*menu, nav) | |
} | |
func (menu *NavbarMenu) String() string { | |
var str string | |
for _, v := range *menu { | |
str += v.Elem() | |
} | |
return "<ul class=\"nav navbar-nav\">\n" + str + "</ul>" | |
} | |
func NavbarPage(title, site, body string, menu NavbarMenu) string { | |
return Page(title, | |
"<nav class=\"navbar navbar-inverse navbar-fixed-top\">\n"+ | |
ContainerTemplate+ | |
"<div class=\"navbar-header\">\n"+ | |
"<button type=\"button\""+ | |
"class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#navbar\" aria-expanded=\"false\" aria-controls=\"navbar\"><span class=\"sr-only\">Toggle navigation</span><span class=\"icon-bar\"></span><span class=\"icon-bar\"></span></button>\n"+ | |
"<a class=\"navbar-brand\" href=\"/\">"+site+"</a>\n"+ | |
"</div>\n"+ | |
"<div id=\"navbar\" class=\"navbar-collasped collapse in\">"+ | |
menu.String()+ | |
"</div>"+ | |
ContainerEndTemplate+ | |
"</nav>\n"+ | |
ContainerTemplate+ | |
body+ | |
ContainerEndTemplate) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment