diff --git a/.bundle/config b/.bundle/config index 16a6cf6..f595a2f 100644 --- a/.bundle/config +++ b/.bundle/config @@ -2,3 +2,4 @@ BUNDLE_PATH: "vendor/cache" BUNDLE_WITHOUT: "jekyll-watch" BUNDLE_JOBS: "4" +BUNDLE_FORCE_RUBY_PLATFORM: "true" diff --git a/Gemfile b/Gemfile index e4cf0a3..9a1e38e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,26 +1,9 @@ source "https://rubygems.org" -# Hello! This is where you manage which Jekyll version is used to run. -# When you want to use a different version, change it below, save the -# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: -# -# bundle exec jekyll serve -# -# This will help ensure the proper Jekyll version is running. -# Happy Jekylling! gem "jekyll" -gem "rmagick" -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -# gem "github-pages", group: :jekyll_plugins - -# If you have any plugins, put them here! group :jekyll_plugins do - gem "jekyll-feed" - gem "jekyll-sitemap" gem "jekyll-responsive-image" + gem "jekyll-sitemap" + gem "jekyll-toc" end - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/Gemfile.lock b/Gemfile.lock index 009e17d..a714182 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,9 +10,9 @@ GEM eventmachine (>= 0.12.9) http_parser.rb (~> 0) eventmachine (1.2.7) - ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.0) forwardable-extended (2.6.0) - google-protobuf (4.28.3-x86_64-linux) + google-protobuf (4.29.0) bigdecimal rake (>= 13) http_parser.rb (0.8.0) @@ -34,8 +34,6 @@ GEM safe_yaml (~> 1.0) terminal-table (>= 1.8, < 4.0) webrick (~> 1.7) - jekyll-feed (0.17.0) - jekyll (>= 3.7, < 5.0) jekyll-responsive-image (1.6.0) jekyll (>= 2.0, < 5.0) rmagick (>= 2.0, < 5.0) @@ -43,6 +41,9 @@ GEM sass-embedded (~> 1.54) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) + jekyll-toc (0.19.0) + jekyll (>= 3.9) + nokogiri (~> 1.12) jekyll-watch (2.2.1) listen (~> 3.0) kramdown (2.5.1) @@ -54,9 +55,14 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) + mini_portile2 (2.8.8) + nokogiri (1.16.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (6.0.1) + racc (1.8.1) rake (13.2.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) @@ -65,23 +71,22 @@ GEM rmagick (4.3.0) rouge (4.5.1) safe_yaml (1.0.5) - sass-embedded (1.81.0-x86_64-linux-gnu) + sass-embedded (1.81.0) google-protobuf (~> 4.28) + rake (>= 13) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) unicode-display_width (2.6.0) webrick (1.9.0) PLATFORMS - x86_64-linux + ruby DEPENDENCIES jekyll - jekyll-feed jekyll-responsive-image jekyll-sitemap - rmagick - tzinfo-data + jekyll-toc BUNDLED WITH - 2.5.23 + 2.5.22 diff --git a/_includes/disqus_comments.html b/_includes/disqus_comments.html deleted file mode 100644 index 87fa309..0000000 --- a/_includes/disqus_comments.html +++ /dev/null @@ -1,20 +0,0 @@ -{% if page.comments != false and jekyll.environment == "production" %} - -
- - -{% endif %} diff --git a/_includes/video.html b/_includes/video.html deleted file mode 100644 index 6a073ba..0000000 --- a/_includes/video.html +++ /dev/null @@ -1,17 +0,0 @@ - -
- {% if page.caption %} -
- {{ page.caption}} -
- {% endif %} -
- {% include youtube-embed.html %} -
- {% if page.date %} - {% assign date_format = site.minima.date_format | default: "%b %-d, %Y" %} - - {% endif %} -
\ No newline at end of file diff --git a/_includes/youtube-embed.html b/_includes/youtube-embed.html deleted file mode 100644 index 6fa5a87..0000000 --- a/_includes/youtube-embed.html +++ /dev/null @@ -1,3 +0,0 @@ -
- -
\ No newline at end of file diff --git a/_sass/bootstrap/utilities/_embed.scss b/_sass/bootstrap/utilities/_embed.scss index 4497ac0..8715caf 100644 --- a/_sass/bootstrap/utilities/_embed.scss +++ b/_sass/bootstrap/utilities/_embed.scss @@ -33,7 +33,9 @@ .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} { &::before { - padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x); + padding-top: percentage( + $embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x + ); } } } diff --git a/bin/build b/bin/build deleted file mode 100755 index bd62fcb..0000000 --- a/bin/build +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -rm -rf _site - -nix-shell -p ruby_3_3 imagemagick pkg-config --pure --command " - export JEKYLL_ENV=production - echo 'Installing bundles' - bundle config set path 'vendor/cache' - bundle install --full-index --gemfile=Gemfile - - echo 'Building site' - bundle exec jekyll build -" - -nix-shell -p html-minifier --pure --command " - echo 'Minifying site' - html-minifier --input-dir _site --output-dir _site --collapse-whitespace --file-ext html -" - -nix-shell -p neocities-cli --command " - echo 'Pushing to Neocities' - - set +x - export NEOCITIES_API_KEY=$(cat ~/.neocities/freeholdcottage) - set -x - neocities push --prune _site -" diff --git a/bin/serve b/bin/serve deleted file mode 100755 index 0dff039..0000000 --- a/bin/serve +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -rm -rf _site - -nix-shell -p ruby_3_3 imagemagick pkg-config --pure --command " - echo 'Installing bundles' - bundle config set path 'vendor/cache' - bundle install --full-index --gemfile=Gemfile - - echo 'Building site' - bundle exec jekyll serve -" diff --git a/bin/upgrade b/bin/upgrade deleted file mode 100755 index 9b69f28..0000000 --- a/bin/upgrade +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -nix-shell -p ruby_3_3 imagemagick pkg-config --pure --command " - export JEKYLL_ENV=production - echo 'Installing bundles' - bundle config set path 'vendor/cache' - bundle install --gemfile=Gemfile - bundle update --bundler - bundle update -" diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..41f82c5 --- /dev/null +++ b/default.nix @@ -0,0 +1,52 @@ +{ pkgs ? import {} }: + +let + src = ./.; + env = pkgs.bundlerEnv { + name = "bluepitshousingaction-co-uk"; + inherit (pkgs) ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + }; +in +pkgs.stdenv.mkDerivation { + name = "bluepitshousingaction-co-uk"; + + src = builtins.filterSource + (path: type: !(builtins.elem (baseNameOf path) [ + "_site" + ".jekyll-cache" + ".git" + "node_modules" + "result" + "vendor" + ])) + src; + + nativeBuildInputs = with pkgs; [ + ruby_3_3 + minify + ]; + + configurePhase = '' + export HOME=$TMPDIR + mkdir -p _site + ''; + + buildPhase = '' + echo "Building site with Jekyll..." + JEKYLL_ENV=production ${env}/bin/jekyll build --source . --destination _site --trace + + echo 'Minifying HTML' + minify --all --recursive --output . _site + ''; + + installPhase = '' + echo "Creating output directory..." + mkdir -p $out + + echo "Copying site files..." + cp -r _site/* $out/ + ''; +} diff --git a/gemset.nix b/gemset.nix new file mode 100644 index 0000000..279f338 --- /dev/null +++ b/gemset.nix @@ -0,0 +1,400 @@ +{ + addressable = { + dependencies = ["public_suffix"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; + type = "gem"; + }; + version = "2.8.7"; + }; + bigdecimal = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; + type = "gem"; + }; + version = "3.1.8"; + }; + colorator = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72"; + type = "gem"; + }; + version = "1.1.0"; + }; + concurrent-ruby = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl"; + type = "gem"; + }; + version = "1.3.4"; + }; + em-websocket = { + dependencies = ["eventmachine" "http_parser.rb"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a66b0kjk6jx7pai9gc7i27zd0a128gy73nmas98gjz6wjyr4spm"; + type = "gem"; + }; + version = "0.5.3"; + }; + eventmachine = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r"; + type = "gem"; + }; + version = "1.2.7"; + }; + ffi = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi"; + type = "gem"; + }; + version = "1.17.0"; + }; + forwardable-extended = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v"; + type = "gem"; + }; + version = "2.6.0"; + }; + google-protobuf = { + dependencies = ["bigdecimal" "rake"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1m3gm8l1rlmcf7gqmdli1pmc788zhg3m7ng3wbv8barxh3cdmxrg"; + type = "gem"; + }; + version = "4.29.0"; + }; + "http_parser.rb" = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1gj4fmls0mf52dlr928gaq0c0cb0m3aqa9kaa6l0ikl2zbqk42as"; + type = "gem"; + }; + version = "0.8.0"; + }; + i18n = { + dependencies = ["concurrent-ruby"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; + type = "gem"; + }; + version = "1.14.6"; + }; + jekyll = { + dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0124fnqizh7njn99qg4f3jvf9kg2rpm88drs9p9r5hqr50n2i264"; + type = "gem"; + }; + version = "4.3.4"; + }; + jekyll-responsive-image = { + dependencies = ["jekyll" "rmagick"]; + groups = ["jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v5q54k9q379dqgy168f8h55dl5vjgyn8npj3ahrmf3zjq9hlqzp"; + type = "gem"; + }; + version = "1.6.0"; + }; + jekyll-sass-converter = { + dependencies = ["sass-embedded"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00n9v19h0qgjijygfdkdh2gwpmdlz49nw1mqk6fnp43f317ngrz2"; + type = "gem"; + }; + version = "3.0.0"; + }; + jekyll-sitemap = { + dependencies = ["jekyll"]; + groups = ["jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0622rwsn5i0m5xcyzdn86l68wgydqwji03lqixdfm1f1xdfqrq0d"; + type = "gem"; + }; + version = "1.4.0"; + }; + jekyll-toc = { + dependencies = ["jekyll" "nokogiri"]; + groups = ["jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s06qmdcybhrz5qcmyjbb8cf5x8a7mqv242p0gi4kn73x3vp10la"; + type = "gem"; + }; + version = "0.19.0"; + }; + jekyll-watch = { + dependencies = ["listen"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w"; + type = "gem"; + }; + version = "2.2.1"; + }; + kramdown = { + dependencies = ["rexml"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "131nwypz8b4pq1hxs6gsz3k00i9b75y3cgpkq57vxknkv6mvdfw7"; + type = "gem"; + }; + version = "2.5.1"; + }; + kramdown-parser-gfm = { + dependencies = ["kramdown"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv"; + type = "gem"; + }; + version = "1.1.0"; + }; + liquid = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1czxv2i1gv3k7hxnrgfjb0z8khz74l4pmfwd70c7kr25l2qypksg"; + type = "gem"; + }; + version = "4.0.4"; + }; + listen = { + dependencies = ["rb-fsevent" "rb-inotify"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; + type = "gem"; + }; + version = "3.9.0"; + }; + mercenary = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj"; + type = "gem"; + }; + version = "0.4.0"; + }; + mini_portile2 = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf"; + type = "gem"; + }; + version = "2.8.8"; + }; + nokogiri = { + dependencies = ["mini_portile2" "racc"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq"; + type = "gem"; + }; + version = "1.16.7"; + }; + pathutil = { + dependencies = ["forwardable-extended"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"; + type = "gem"; + }; + version = "0.16.2"; + }; + public_suffix = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; + type = "gem"; + }; + version = "6.0.1"; + }; + racc = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0byn0c9nkahsl93y9ln5bysq4j31q8xkf2ws42swighxd4lnjzsa"; + type = "gem"; + }; + version = "1.8.1"; + }; + rake = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; + type = "gem"; + }; + version = "13.2.1"; + }; + rb-fsevent = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; + type = "gem"; + }; + version = "0.11.2"; + }; + rb-inotify = { + dependencies = ["ffi"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0"; + type = "gem"; + }; + version = "0.11.1"; + }; + rexml = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p"; + type = "gem"; + }; + version = "3.3.9"; + }; + rmagick = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0bx7apj6fkb4q35n7pz0axplnr05wz0jv5vkjqx3ljmc02a7kna4"; + type = "gem"; + }; + version = "4.3.0"; + }; + rouge = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a"; + type = "gem"; + }; + version = "4.5.1"; + }; + safe_yaml = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56"; + type = "gem"; + }; + version = "1.0.5"; + }; + sass-embedded = { + dependencies = ["google-protobuf" "rake"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dr6kkfch4p2c5414r21ijzxnrs3iid8x0ywzclqxznq0vqlgpax"; + type = "gem"; + }; + version = "1.81.0"; + }; + terminal-table = { + dependencies = ["unicode-display_width"]; + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr"; + type = "gem"; + }; + version = "3.0.2"; + }; + unicode-display_width = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nkz7fadlrdbkf37m0x7sw8bnz8r355q3vwcfb9f9md6pds9h9qj"; + type = "gem"; + }; + version = "2.6.0"; + }; + webrick = { + groups = ["default" "jekyll_plugins"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0r79mir4phdmcx0l4yqfwfzdy8vgvrl4ym07585rd2b401bhrrcy"; + type = "gem"; + }; + version = "1.9.0"; + }; +} diff --git a/resized/1200/banner.jpg b/resized/1200/banner.jpg new file mode 100644 index 0000000..3533892 Binary files /dev/null and b/resized/1200/banner.jpg differ diff --git a/resized/200/banner.jpg b/resized/200/banner.jpg new file mode 100644 index 0000000..b18f168 Binary files /dev/null and b/resized/200/banner.jpg differ diff --git a/resized/200/flower-background.png b/resized/200/flower-background.png new file mode 100644 index 0000000..934f29e Binary files /dev/null and b/resized/200/flower-background.png differ diff --git a/resized/400/banner.jpg b/resized/400/banner.jpg new file mode 100644 index 0000000..ce76d94 Binary files /dev/null and b/resized/400/banner.jpg differ diff --git a/resized/400/flower-background.png b/resized/400/flower-background.png new file mode 100644 index 0000000..297ac00 Binary files /dev/null and b/resized/400/flower-background.png differ diff --git a/resized/800/banner.jpg b/resized/800/banner.jpg new file mode 100644 index 0000000..d219bff Binary files /dev/null and b/resized/800/banner.jpg differ diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..7e3f20e --- /dev/null +++ b/shell.nix @@ -0,0 +1,51 @@ +with (import {}); let + env = bundlerEnv { + name = "BluePitsHousingAction"; + inherit ruby; + gemfile = ./Gemfile; + lockfile = ./Gemfile.lock; + gemset = ./gemset.nix; + }; +in + stdenv.mkDerivation { + name = "bluepitshousingaction-co-uk"; + buildInputs = [ + env + ruby_3_3 + rubyPackages_3_3.ffi + libffi + ]; + + shellHook = '' + serve() { + ${env}/bin/jekyll serve --watch & + JEKYLL_PID=$! + + cleanup_serve() { + echo "Cleaning up serve process..." + kill $JEKYLL_PID 2>/dev/null + wait $JEKYLL_PID 2>/dev/null + } + + trap cleanup_serve EXIT INT TERM + + wait $JEKYLL_PID + + cleanup_serve + + trap - EXIT INT TERM + } + + export -f serve + + cleanup() { + echo "Cleaning up..." + rm -rf _site .jekyll-cache .jekyll-metadata + } + + trap cleanup EXIT + + echo "Development environment ready!" + echo "Run 'serve' to start development server" + ''; + }