# frozen_string_literal: true require 'phlex' require 'phlexite' require 'kramdown' require_relative 'lib/pages' require_relative 'views/base_layout' require_relative 'views/nav_links' require_relative 'views/section_link' require_relative 'views/page_layout' require_relative 'views/pages/index' require_relative 'views/pages/markdown_page' def pages = BC.pages Phlexite::Site.new do |s| s.mount 'assets', on: '/assets' s.page 'index.html', BC::Views::Pages::Index.new pages.each_index { |idx| page = pages[idx] prev = idx <= 0 ? nil : "/#{pages[idx - 1][0]}.html" fwd = idx >= pages.length - 1 ? nil : "/#{pages[idx + 1][0]}.html" s.page "#{page[0]}.html", BC::Views::Pages::MarkdownPage.new(File.read("./views/pages/#{page[0]}.md"), page[1], prev, fwd) } end