Add portfolio page draft
This commit is contained in:
parent
84362f27ef
commit
ed05cf8790
|
@ -6,33 +6,6 @@ import respond_to from require "lapis.application"
|
|||
import assert_valid from require "lapis.validate"
|
||||
|
||||
class Projects extends lapis.Application
|
||||
[projects: "/projects"]: =>
|
||||
res, code = http.simple {
|
||||
url: "https://api.github.com/users/Xe/repos"
|
||||
headers: {
|
||||
["User-Agent"]: "http://christine.website #{os.getenv "GIT_REV"}"
|
||||
["Authorization"]: "token #{os.getenv "GITHUB_TOKEN"}"
|
||||
}
|
||||
}
|
||||
|
||||
if code != 200
|
||||
@err = res
|
||||
return render: "error", status: 500
|
||||
|
||||
repos, _, err = json.decode res
|
||||
|
||||
if err
|
||||
@err = err
|
||||
return render: "error", status: 500
|
||||
|
||||
@repos = {}
|
||||
|
||||
for _, repo in pairs(repos)
|
||||
if not repo.fork
|
||||
table.insert repos, repo
|
||||
|
||||
render: true
|
||||
|
||||
[portfolio: "/portfolio"]: =>
|
||||
|
||||
render: true
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css);
|
||||
|
||||
.box {
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
padding: 10px 25px;
|
||||
text-align: right;
|
||||
display: block;
|
||||
margin-top: 60px;
|
||||
}
|
||||
.box-icon {
|
||||
background-color: #57a544;
|
||||
border-radius: 50%;
|
||||
display: table;
|
||||
height: 100px;
|
||||
margin: 0 auto;
|
||||
width: 100px;
|
||||
margin-top: -61px;
|
||||
}
|
||||
.box-icon span {
|
||||
color: #fff;
|
||||
display: table-cell;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.info h4 {
|
||||
font-size: 26px;
|
||||
letter-spacing: 2px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.info > p {
|
||||
color: #717171;
|
||||
font-size: 16px;
|
||||
padding-top: 10px;
|
||||
text-align: justify;
|
||||
}
|
||||
.info > a {
|
||||
background-color: #03a9f4;
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
color: #fff;
|
||||
transition: all 0.5s ease 0s;
|
||||
}
|
||||
.info > a:hover {
|
||||
background-color: #0288d1;
|
||||
box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.16), 0 2px 5px 0 rgba(0, 0, 0, 0.12);
|
||||
color: #fff;
|
||||
transition: all 0.5s ease 0s;
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
import Widget from require "lapis.html"
|
||||
|
||||
class Portfolio extends Widget
|
||||
content: =>
|
||||
link rel: "stylesheet", href: "/static/css/portfolio/main.css"
|
||||
|
||||
center ->
|
||||
h1 "Projects I've Made"
|
||||
|
||||
div class: "row", ->
|
||||
div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", ->
|
||||
div class: "box", ->
|
||||
div class: "box-icon", ->
|
||||
span class: "fa fa-4x fa-code"
|
||||
|
||||
div class: "info", ->
|
||||
h4 class: "text-center", "Elemental-IRCd"
|
||||
p "Elemental-IRCd is a fork of the (now defunct) ShadowIRCd project. It is also a fork of Atheme's Charybdis irc daemon with more user-friendly features. Most of these things are security patches, network staff usability features, patches that make centralized management simpler and extra status levels in channels; but the resulting core changes mean it needs to be its own project. I plan to replace this with something still in development called Scylla."
|
||||
a href: "https://github.com/elemental-ircd/elemental-ircd", class: "btn", "Learn More"
|
||||
|
||||
div class: "col-xs-12 col-sm-6 col-md-6 col-lg-6", ->
|
||||
div class: "box", ->
|
||||
div class: "box-icon", ->
|
||||
span class: "fa fa-4x fa-cogs"
|
||||
|
||||
div class: "info", ->
|
||||
h4 class: "text-center", "Scylla"
|
||||
p "Scylla is a more experimental project in separating mechanism from policy in IRC networks. The overall idea is to make the flow of things similar to this:"
|
||||
code [[protocol line >>= mechanism >>= event >>= core >>= policy >>= action >>= mechanism >>= protocol line]]
|
||||
p "This would be implemented by the core being a minimal message bus that routes things to the appropriate component, allowing the components to be written in any language. It is still in the early planning stage but I hope to have something working by next year."
|
||||
a href: "https://github.com/Xe/scylla", class: "btn", "Learn More"
|
||||
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
import Widget from require "lapis.html"
|
||||
|
||||
class Projects extends Widget
|
||||
content: =>
|
||||
h1 "My Projects"
|
||||
|
||||
element "table", class: "table table-striped", ->
|
||||
tr ->
|
||||
td "Name"
|
||||
td "Description"
|
||||
td "Language"
|
||||
td "Star Count"
|
||||
|
||||
for _, repo in pairs @repos
|
||||
tr ->
|
||||
td ->
|
||||
a href: repo.html_url, repo.name
|
||||
td repo.description or ""
|
||||
td repo.language
|
||||
td repo.stargazers_count
|
Loading…
Reference in New Issue