diff --git a/.gitignore b/.gitignore index 9addb16..497bc06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,3 @@ -/**/DROP/ -/**/TEMP/ -/**/packages/ -/**/bin/ -/**/obj/ _site -tools \ No newline at end of file +.jekyll-cache +obj \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index f2a0489..f231d88 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,8 +6,11 @@ pipeline { branch 'main' } steps { + sh '''cd web + bundle + bundle exec jekyll build''' sh 'rm -rf /var/www/tinylifegame/*' - sh 'cp web/. /var/www/tinylifegame/ -r' + sh 'cp -r web/_site/. /var/www/tinylifegame/' } } stage('Docs') { @@ -17,7 +20,7 @@ pipeline { steps { sh 'cd docs; docfx.exe' sh 'rm -rf /var/www/tinylifedocs/*' - sh 'cp docs/_site/. /var/www/tinylifedocs/ -r' + sh 'cp -r docs/_site/. /var/www/tinylifedocs/' } } } diff --git a/web/Gemfile b/web/Gemfile new file mode 100644 index 0000000..4989be4 --- /dev/null +++ b/web/Gemfile @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } + +gem "jekyll" +gem "webrick" diff --git a/web/Gemfile.lock b/web/Gemfile.lock new file mode 100644 index 0000000..284c977 --- /dev/null +++ b/web/Gemfile.lock @@ -0,0 +1,69 @@ +GEM + remote: https://rubygems.org/ + specs: + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + colorator (1.1.0) + concurrent-ruby (1.1.9) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + eventmachine (1.2.7-x64-mingw32) + ffi (1.15.5-x64-mingw32) + forwardable-extended (2.6.0) + http_parser.rb (0.8.0) + i18n (1.8.11) + concurrent-ruby (~> 1.0) + jekyll (4.2.1) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (~> 2.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (~> 0.4.0) + pathutil (~> 0.9) + rouge (~> 3.0) + safe_yaml (~> 1.0) + terminal-table (~> 2.0) + jekyll-sass-converter (2.1.0) + sassc (> 2.0.1, < 3.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + kramdown (2.3.1) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (4.0.6) + rb-fsevent (0.11.0) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + rouge (3.27.0) + safe_yaml (1.0.5) + sassc (2.4.0-x64-mingw32) + ffi (~> 1.9) + terminal-table (2.0.0) + unicode-display_width (~> 1.1, >= 1.1.1) + unicode-display_width (1.8.0) + webrick (1.7.0) + +PLATFORMS + x64-mingw32 + +DEPENDENCIES + jekyll + webrick + +BUNDLED WITH + 2.2.26 diff --git a/web/_config.yaml b/web/_config.yaml new file mode 100644 index 0000000..55fb549 --- /dev/null +++ b/web/_config.yaml @@ -0,0 +1,2 @@ +kramdown: + header_offset: 1 \ No newline at end of file diff --git a/web/_data/devlogs.json b/web/_data/devlogs.json new file mode 100644 index 0000000..9dd04d3 --- /dev/null +++ b/web/_data/devlogs.json @@ -0,0 +1,25 @@ +[{ + "name": "0.19.0: Ui, Sound and Improvements Abound", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/330680/0190-ui-sound-and-improvements-abound", + "steam": "https://store.steampowered.com/news/app/1651490/view/3109171219652255208" +}, { + "name": "0.18.0: Animations, Food and Sources", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/317472/0180-animations-food-and-sources", + "steam": "https://store.steampowered.com/news/app/1651490/view/3111419849470831533" +}, { + "name": "0.17.0: Life Goals, Reward Personalities and Daily Tasks", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/303915/0170-life-goals-reward-personalities-and-daily-tasks", + "steam": "https://store.steampowered.com/news/app/1651490/view/4244072077610086379" +}, { + "name": "0.16.0: Woodlands and Visitors", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/289260/0160-woodlands-and-visitors", + "steam": "https://store.steampowered.com/news/app/1651490/view/2949282742498975401" +}, { + "name": "0.15.0: Barbecue Trash Cleaning", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/277913/0150-barbecue-trash-cleaning", + "steam": "https://store.steampowered.com/news/app/1651490/view/2968419780808932932" +}, { + "name": "0.14.0: Lamps, Lot Movement, Speech Sounds!", + "itch": "https://ellpeck.itch.io/tiny-life/devlog/274082/0140-lamps-lot-movement-speech-sounds", + "steam": "https://store.steampowered.com/news/app/1651490/view/4430963222678444595" +}] \ No newline at end of file diff --git a/web/_data/screenshots.json b/web/_data/screenshots.json new file mode 100644 index 0000000..0705647 --- /dev/null +++ b/web/_data/screenshots.json @@ -0,0 +1,16 @@ +[{ + "value": "CharacterCreator", + "text": "Create your own characters with unique personalities and skills and dress them however you like" +}, { + "value": "Map", + "text": "Build houses and community spaces like parks and cafés and watch households inhabit them" +}, { + "value": "Gameplay", + "text": "Control your household and tell your characters what to do, from cooking food to learning complex skills like programming and painting" +}, { + "value": "Relationships", + "text": "Have your characters interact, build relationships, grow families and live unique lives" +}, { + "value": "Lighting", + "text": "Share your creations with the community by exporting lots and households from your game" +}] \ No newline at end of file diff --git a/web/_includes/about.html b/web/_includes/about.html new file mode 100644 index 0000000..e0fc4d5 --- /dev/null +++ b/web/_includes/about.html @@ -0,0 +1,15 @@ +
+ +

About Tiny Life

+

Tiny Life is a fun simulation game that aims to capture the essence of games like The Sims, but in an isometric pixelart style.

+

In the game, you control a set of people that live together in a household. You take care of their daily needs, build their skills, forge new relationships... or just mess up their entire life in whatever way you can think of!

+ + {% for item in site.data.screenshots %} +
+ +
+

{{ item.text }}

+
+
+ {% endfor %} +
\ No newline at end of file diff --git a/web/_includes/devlogs.html b/web/_includes/devlogs.html new file mode 100644 index 0000000..1944be7 --- /dev/null +++ b/web/_includes/devlogs.html @@ -0,0 +1,16 @@ +
+ +

Devlogs

+

Along with every major update, we publish a devlog that features additional information as well as some screenshots. You can read them on itch or on Steam. You can also read the full changelog.

+ +
+ {% for item in site.data.devlogs %} +
+

{{ item.name }}

+ +
+ {% endfor %} +
+
\ No newline at end of file diff --git a/web/_includes/top.html b/web/_includes/top.html new file mode 100644 index 0000000..3634419 --- /dev/null +++ b/web/_includes/top.html @@ -0,0 +1,47 @@ +
+
+ Tiny Life +

A fun simulation game where you mess with people's lives

+ +
+
+
+

Play the free alpha

+ + itch.io + +
+
+

Wishlist and play

+ + Steam + +
+
+ Follow on Twitter + Join the Discord + See Modding Docs + Get Press Kit +
+
+
+ \ No newline at end of file diff --git a/web/_layouts/default.html b/web/_layouts/default.html new file mode 100644 index 0000000..6541da3 --- /dev/null +++ b/web/_layouts/default.html @@ -0,0 +1,47 @@ + + + + + + + + {{ page.title }} + + + + + + + + + + + + + + + + + + + + + + + + + + {{ content }} + + + + + \ No newline at end of file diff --git a/web/index.html b/web/index.html index 9434f6d..9057d0a 100644 --- a/web/index.html +++ b/web/index.html @@ -1,74 +1,9 @@ - - +--- +layout: default +title: Tiny Life +summary: A fun simulation game where you mess with people's lives +--- - - - - - Tiny Life - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Tiny Life -

A fun simulation game where you mess with people's lives

- -
-
-
-

Play the free alpha

- - itch.io - -
-
-

Wishlist and play

- - Steam - -
-
- Follow on Twitter - Join the Discord - See Modding Docs - Get Press Kit -
-
-
- - - - - - \ No newline at end of file +{% include top.html %} +{% include about.html %} +{% include devlogs.html %} \ No newline at end of file diff --git a/web/media/screenshots/CharacterCreator.png b/web/media/screenshots/CharacterCreator.png new file mode 100644 index 0000000..6d66d46 Binary files /dev/null and b/web/media/screenshots/CharacterCreator.png differ diff --git a/web/media/screenshots/Gameplay.png b/web/media/screenshots/Gameplay.png new file mode 100644 index 0000000..e373e9b Binary files /dev/null and b/web/media/screenshots/Gameplay.png differ diff --git a/web/media/screenshots/Lighting.png b/web/media/screenshots/Lighting.png new file mode 100644 index 0000000..29725ad Binary files /dev/null and b/web/media/screenshots/Lighting.png differ diff --git a/web/media/screenshots/Map.png b/web/media/screenshots/Map.png new file mode 100644 index 0000000..73a12f6 Binary files /dev/null and b/web/media/screenshots/Map.png differ diff --git a/web/media/screenshots/Relationships.png b/web/media/screenshots/Relationships.png new file mode 100644 index 0000000..85e8227 Binary files /dev/null and b/web/media/screenshots/Relationships.png differ diff --git a/web/scroll.js b/web/scroll.js deleted file mode 100644 index 22c4845..0000000 --- a/web/scroll.js +++ /dev/null @@ -1,18 +0,0 @@ -let x = Math.random() * 100; -let y = Math.random() * 100; - -let angle = Math.random() * 2 * Math.PI; -let addX = Math.cos(angle) * 0.02; -let addY = Math.sin(angle) * 0.02; - -let background = $(".top"); -background.css("background-position", `${x}% ${y}%`); -setInterval(function () { - x += addX; - y += addY; - if (x < 0 || x > 100) - addX *= -1; - if (y < 0 || y > 100) - addY *= -1; - background.css("background-position", `${x}% ${y}%`); -}, 30); \ No newline at end of file diff --git a/web/style.css b/web/style.css index a8e3f99..60207f1 100644 --- a/web/style.css +++ b/web/style.css @@ -8,20 +8,22 @@ color: lightsteelblue; } -.footer { - margin-top: 15px; - margin-bottom: 15px; - width: 100%; - text-align: center; -} - -.main { +.top-content { text-align: center; color: white; padding-top: 20px; padding-bottom: 60px; } +.section { + width: 95%; + max-width: 950px; + margin-top: 50px; + margin-bottom: 50px; + margin-left: auto; + margin-right: auto; +} + .site { padding-bottom: 20px; } @@ -37,4 +39,60 @@ .link { display: inline-block; width: 150px; +} + +.screenshot { + position: relative; + margin-top: 40px; + margin-bottom: 40px; +} + +.feature { + margin: 10px; + padding: 10px; + max-width: 60%; + color: white; + background: rgb(0, 0, 0, 0.7); + border-radius: 8px; + position: absolute; + top: 0; +} + +.feature p { + margin-bottom: 0; +} + +.feature-0 { + text-align: left; + left: 0; +} + +.feature-1 { + text-align: right; + right: 0; +} + +.footer { + margin-top: 15px; + margin-bottom: 15px; + width: 100%; + text-align: center; +} + +.devlog { + margin-bottom: 20px; + min-width: 250px; + width: 45%; + display: inline-block; +} + +.changelog img { + width: 100%; +} + +.changelog blockquote { + margin-left: 2em; + margin-right: 2em; + font-style: italic; + font-size: 18px; } \ No newline at end of file