diff --git a/.harper-dictionary.txt b/.harper-dictionary.txt index 89e8e40..1ec81cf 100644 --- a/.harper-dictionary.txt +++ b/.harper-dictionary.txt @@ -1 +1,2 @@ +bgcolor1 bgcolor2 diff --git a/assets/twizzler_logo.png b/assets/twizzler_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f2fc0aeb8742f0a233f9379c84ddb78fa28084a GIT binary patch literal 18770 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 literal 0 HcmV?d00001 diff --git a/poster/colors.typ b/poster/colors.typ index c5d8610..91dbd42 100644 --- a/poster/colors.typ +++ b/poster/colors.typ @@ -1,7 +1,7 @@ //TODO: need to make these baskin colors #let base_colors = ( - bgcolor1: rgb("#dde3f0"), - bgcolor2: rgb("#0a3b69"), + bgcolor1: rgb("#003c6c"), + bgcolor2: rgb("#dde3f0"), textcolor1: rgb("#1f1804"), textcolor2: rgb("#fdfbf5"), ) diff --git a/poster/main.typ b/poster/main.typ index f48f5bb..48bd721 100644 --- a/poster/main.typ +++ b/poster/main.typ @@ -3,6 +3,7 @@ + #set page( width: 48in, height: 36in, @@ -19,10 +20,14 @@ )[Twizzler-Security: A Capability-Based Security System for Twizzler], author: text(size: 48pt)[Surendra Jammishetti --- Advisor: Owen Arden], subtitle: text(size: 32pt)[University of California, Santa Cruz], - logo: image( + logo1: image( "../assets/UCSC_BaskinEng_Logomark_Orange_RGB-150x150.png", height: 75%, ), + logo2: image( + "../assets/twizzler_logo.png", + height: 75%, + ), base_colors: base_colors, ) @@ -31,7 +36,7 @@ title_style: text.with( size: 48pt, weight: "bold", - fill: base_colors.bgcolor2, + fill: base_colors.bgcolor1, ), ) @@ -46,25 +51,62 @@ inset: 35pt, gutter: 30pt, [ + + // section 1 + #import "./sections/twizzler.typ": title; #colored_poster_section(fill: true)[ - What is Twizzler? + #title ][ - #include "./sections/sec_ctx.typ" + #include "./sections/twizzler.typ" + ] + + // section 2 + #import "./sections/cap.typ": title; + #colored_poster_section(fill: true)[ + #title + ][ + #include "./sections/cap.typ" ] ], [ - #colored_poster_section[Section 1][#lorem(200)] - #colored_poster_section(fill: true)[Section 2][#lorem(200)] - #colored_poster_section[Section 1][#lorem(200)] + // section 3 + #import "./sections/sec_ctx.typ": title; + #colored_poster_section(fill: true)[ + #title + ][ + #include "./sections/sec_ctx.typ" + ] + + // section 4 + #import "./sections/execution.typ": title; + #colored_poster_section(fill: true)[ + #title + ][ + #include "./sections/execution.typ" + ] + ], [ - #colored_poster_section[Section 1][#lorem(200)] - #colored_poster_section(fill: true)[Section 2][#lorem(200)] - #colored_poster_section[Section 1][#lorem(200)] - #colored_poster_section(fill: true)[Section 2][#lorem(200)] + // section 3 + #import "./sections/future.typ": title; + #colored_poster_section(fill: true)[ + #title + ][ + #include "./sections/future.typ" + ] + + // section 4 + #import "./sections/cited.typ": title; + #colored_poster_section(fill: true)[ + #title + ][ + #include "./sections/cited.typ" + ] + + ], ), top: 20pt, diff --git a/poster/sections/background.typ b/poster/sections/background.typ deleted file mode 100644 index e69de29..0000000 diff --git a/poster/sections/cap.typ b/poster/sections/cap.typ new file mode 100644 index 0000000..0f918fc --- /dev/null +++ b/poster/sections/cap.typ @@ -0,0 +1,5 @@ +#let title = "Capabilities" + +#lorem(200) + + diff --git a/poster/sections/capabilities.typ b/poster/sections/capabilities.typ deleted file mode 100644 index e69de29..0000000 diff --git a/poster/sections/cited.typ b/poster/sections/cited.typ new file mode 100644 index 0000000..032caf1 --- /dev/null +++ b/poster/sections/cited.typ @@ -0,0 +1,2 @@ +#let title = "Works Cited" +#lorem(200) diff --git a/poster/sections/execution.typ b/poster/sections/execution.typ new file mode 100644 index 0000000..09079bf --- /dev/null +++ b/poster/sections/execution.typ @@ -0,0 +1,2 @@ +#let title = "System At Work" +#lorem(200) diff --git a/poster/sections/future.typ b/poster/sections/future.typ new file mode 100644 index 0000000..9bbf068 --- /dev/null +++ b/poster/sections/future.typ @@ -0,0 +1,2 @@ +#let title = "Future Work" +#lorem(200) diff --git a/poster/sections/motivation.typ b/poster/sections/motivation.typ deleted file mode 100644 index e69de29..0000000 diff --git a/poster/sections/sec_ctx.typ b/poster/sections/sec_ctx.typ index 7ead72c..e124a3d 100644 --- a/poster/sections/sec_ctx.typ +++ b/poster/sections/sec_ctx.typ @@ -1 +1,2 @@ -#lorem(50) +#let title = "Security Contexts" +#lorem(200) diff --git a/poster/sections/twizzler.typ b/poster/sections/twizzler.typ new file mode 100644 index 0000000..436e9bc --- /dev/null +++ b/poster/sections/twizzler.typ @@ -0,0 +1,4 @@ +#let title = "What is Twizzler?" +#lorem(200) + + diff --git a/poster/template.typ b/poster/template.typ index 39e025f..7639a71 100644 --- a/poster/template.typ +++ b/poster/template.typ @@ -30,7 +30,7 @@ message: "title_style must be a partial application of text()", ) - let fill_color = if fill { base_colors.bgcolor1 } else { none } + let fill_color = if fill { base_colors.bgcolor2 } else { none } block( width: 100%, @@ -46,7 +46,7 @@ line( length: 100%, stroke: ( - paint: base_colors.bgcolor2, + paint: base_colors.bgcolor1, thickness: 3pt, cap: "round", ), @@ -62,7 +62,8 @@ title, author, subtitle, - logo, + logo1, + logo2, base_colors, ) = { set text(fill: base_colors.textcolor2) @@ -71,13 +72,13 @@ stack( dir: ttb, block( - fill: base_colors.bgcolor2, + fill: base_colors.bgcolor1, width: 100%, height: 100%, grid( //SOME bs scaling for the baskin engineering logo columns: (0.5fr, 4fr, 0.5fr), - if logo != none { logo } else [], + if logo1 != none { logo1 } else [], align(center + horizon)[ #stack( spacing: 45pt, @@ -85,7 +86,9 @@ author, subtitle, ) ], - [], + // [], + //NOTE: there has to be a better way to do this + if logo2 != none { logo2 } else [], ), ), ) @@ -95,7 +98,7 @@ stack( dir: ttb, block( - fill: base_colors.bgcolor2, + fill: base_colors.bgcolor1, width: 100%, height: 100%, ), @@ -108,7 +111,8 @@ author: "", base_colors: none, subtitle: none, - logo: none, + logo1: none, + logo2: none, doc, ) = { assert(base_colors != none, message: "Base Colors must be provided") @@ -121,7 +125,8 @@ title, author, subtitle, - logo, + logo1, + logo2, base_colors, ), doc,