ref: b1590ca2b2ad0446fa2e6b0cf361dd20d5c9fcd5
parent: dc410ec80e1295d40a83e6826cdcf2095ef75ed1
parent: 3700e228cf32b5388f61c0becadd0fc28ff82d5d
author: halfwit <michaelmisch1985@gmail.com>
date: Thu Aug 6 05:52:41 PDT 2020
Merge remote-tracking branch 'site/master' into master
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -1,0 +1,1 @@
+* @olmaxmedical/devs
--- /dev/null
+++ b/client.go
@@ -1,0 +1,45 @@
+package main
+
+import (
+ "log"
+ // Call our init functions to add our items
+ _ "github.com/olmaxmedical/forms"
+ _ "github.com/olmaxmedical/forms/doctor"
+ _ "github.com/olmaxmedical/forms/patient"
+ _ "github.com/olmaxmedical/pages"
+ _ "github.com/olmaxmedical/pages/doctor"
+ _ "github.com/olmaxmedical/pages/help"
+ _ "github.com/olmaxmedical/pages/patient"
+ _ "github.com/olmaxmedical/plugins"
+
+ "github.com/olmaxmedical/router"
+ "github.com/olmaxmedical/session"
+)
+
+//go:generate gotext -srclang=en-US update -out=catalog.go -lang=en-US
+// use a working dir instead, passed in as an argument instead
+
+func main() {
+ sessions, err := session.NewManager("default", "sessions", 360)
+ if err != nil {
+ log.Fatalf("Unable to initialize manager %v", err)
+ }
+
+ go sessions.GC()
+
+ errs := router.ValidatePages()
+ if len(errs) > 0 {
+ for _, err := range errs {
+ log.Print(err)
+ }
+ log.Fatal("Unable to continue due to template errors")
+ }
+ errs = router.ValidatePlugins()
+ if len(errs) > 0 {
+ for _, err := range errs {
+ log.Print(err)
+ }
+ log.Fatal("Unable to continue due to plugin errors")
+ }
+ log.Fatal(router.Route(sessions))
+}
--- /dev/null
+++ b/go.mod
@@ -1,0 +1,16 @@
+module github.com/olmaxmedical/site
+
+go 1.14
+
+require (
+ github.com/olmaxmedical/forms v0.0.1
+ github.com/olmaxmedical/pages v0.0.1
+ github.com/olmaxmedical/plugins v0.0.1
+ github.com/olmaxmedical/router v0.0.1
+ github.com/olmaxmedical/session v0.0.1
+ github.com/pariz/gountries v0.0.0-20191029140926-233bc78cf5b5 // indirect
+ github.com/scorredoira/email v0.0.0-20191107070024-dc7b732c55da // indirect
+ github.com/stretchr/testify v1.5.1 // indirect
+ golang.org/x/text v0.3.2
+ gopkg.in/yaml.v2 v2.2.8 // indirect
+)
--- /dev/null
+++ b/go.sum
@@ -1,0 +1,34 @@
+github.com/albrow/forms v0.3.3 h1:+40fCsDyS2lU97IEeed7bnUGENvlVzppQGBGy6kd77E=
+github.com/albrow/forms v0.3.3/go.mod h1:jvrM3b0gPuIRiY1E/KmKfPk2XXDEKj7yFB+g9g0BItQ=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
+github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/olmaxmedical/database v0.0.0/go.mod h1:BPYEBAP3GYeSeqg5hOaH7GC8+P/VnD2OuHYounbVjQs=
+github.com/olmaxmedical/database v0.0.1 h1:cuocVljXq7cPRS9HygFg2B/WSdzWAZEHrc5uMnN+A0A=
+github.com/olmaxmedical/database v0.0.1/go.mod h1:/5Tl6/p0jpvLpj4GaoFki3wRG/3b+ipNNhM5Dyi6Zf8=
+github.com/olmaxmedical/email v0.0.1 h1:bhOERmPiUmFJqC133s+FFXucSI3dNnfDKsboDYFEbkc=
+github.com/olmaxmedical/email v0.0.1/go.mod h1:bz6en9uc6h9fyu3MW2jTwYW19ZclQ22JkcIxsl3/epc=
+github.com/olmaxmedical/forms v0.0.1 h1:p9PaNhhuEqPs94DLQ14ByznzXoaFGl/9krpKUD4vwb4=
+github.com/olmaxmedical/forms v0.0.1/go.mod h1:kpun7n3Egnz4R3sF6ecP+7jAiGW72w4XwtmanGzlWxE=
+github.com/olmaxmedical/pages v0.0.1 h1:5Rdl6ebsOgqgA1JaSlou55bj+MKwl28DfRjk27Cwdl0=
+github.com/olmaxmedical/pages v0.0.1/go.mod h1:tG8G+5ApKKBIugVqfA6HyD4bTiqZ/c2svDeIOt66VNg=
+github.com/olmaxmedical/plugins v0.0.1 h1:fON9AAfH635gLKNbytrUdRoRCjhI0ZPP7VFzCVZDVWA=
+github.com/olmaxmedical/plugins v0.0.1/go.mod h1:bHkYv5oh6bk5y1jCZDO9Bk5IyYMPWgZDjMrEifxVgbU=
+github.com/olmaxmedical/router v0.0.1 h1:x3fZ9u00xwKxLvPj8Au0QhIxpmxRv+q2lVMdBmyRQjM=
+github.com/olmaxmedical/router v0.0.1/go.mod h1:28e377pByZCQMBAdERDBhX4wYeTsJgc6U4yOEiz7MsA=
+github.com/olmaxmedical/session v0.0.1 h1:2xdSjpEg89+ClRFLPp/gR3lNxl4JjPAUd2Hsds++FFs=
+github.com/olmaxmedical/session v0.0.1/go.mod h1:XOVyHL+cKa5t2fLDIJtFxwEzJOa3r1hUkwlL4aybdqA=
+github.com/pariz/gountries v0.0.0-20191029140926-233bc78cf5b5 h1:842t0ixg/A4my8/Q3oDNdHIsKYIx02NDlWVEhaiBToo=
+github.com/pariz/gountries v0.0.0-20191029140926-233bc78cf5b5/go.mod h1:U0ETmPPEsfd7CpUKNMYi68xIOL8Ww4jPZlaqNngcwqs=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/scorredoira/email v0.0.0-20191107070024-dc7b732c55da h1:hhmnjfzz7szp75AyXxn8tDfEA0oU4REQLmpuW6zNAOY=
+github.com/scorredoira/email v0.0.0-20191107070024-dc7b732c55da/go.mod h1:Q5ljvYIBpukMH+wgB8kcPV1i9NX8TqU++8GgBKq3pt0=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
--- /dev/null
+++ b/resources/css/NOTES
@@ -1,0 +1,1 @@
+We can use the :lang(en) selector for @media width messes.
\ No newline at end of file
--- /dev/null
+++ b/resources/css/default.css
@@ -1,0 +1,102 @@
+header {
+ grid-area: header;
+ font-family: "Avenir Next", "Avenir", sans-serif;
+ transition: top 0.3s;
+}
+main {
+ grid-area: content;
+ font-size: 1.5rem;
+ color: #323232;
+}
+
+body {
+ display: grid;
+ grid-gap: 1rem;
+ grid-template-rows: 8rem auto auto;
+ grid-template-areas:
+ "header"
+ "content"
+ "footer";
+}
+footer {
+ grid-area: footer;
+ padding: 1rem;
+ padding-top: 2rem;
+ display: flex;
+ flex-flow: column;
+ align-items: center;
+ justify-content: center;
+ background-color: #323232;
+ color: #cdcdcd;
+ font-family: "Avenir Next", "Avenir", sans-serif;
+}
+footer ul {
+ list-style-type: none;
+}
+footer li a {
+ text-decoration: none;
+ display: block;
+}
+footer section.branding {
+ order: 1;
+ padding-bottom: 2rem;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+footer nav.leftfooter {
+ order: 2;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ flex-direction: column;
+ justify-content: top;
+}
+footer nav.rightfooter {
+ order: 3;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ flex-direction: column;
+ justify-content: top;
+}
+footer svg {
+ width: 6rem;
+ height: 6rem;
+ display: block;
+ fill: #4b83f2;
+ filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.3));
+}
+footer nav details[open] li a {
+ color: #cdcdcd;
+}
+footer nav details[open] li a:hover {
+ color: #3b4a96;
+}
+@media (pointer: fine) and (hover: hover) and (min-width: 660px) {
+ main {
+ font-size: 1rem;
+ }
+ h1 {
+ font-size: 2rem;
+ }
+ h2 {
+ font-size: 1.8rem;
+ }
+ footer {
+ justify-content: space-evenly;
+ flex-flow: row;
+ }
+ footer section.branding {
+ order: 2;
+ }
+ footer nav.leftfooter {
+ order: 1;
+ }
+ footer nav.rightfooter {
+ order: 3;
+ }
+}
\ No newline at end of file