biocircuits/build.rb
Aleks Rūtiņš f42ff5da9b It works!
2024-12-25 15:17:50 -05:00

34 lines
No EOL
1 KiB
Ruby

# frozen_string_literal: true
require 'phlex'
require 'phlexite'
require 'kramdown'
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 = [
['concepts', 'Concepts of Biocircuits'],
['simplest-circuit', "The Simplest Circuit"],
['repressors', 'Repressors & Leaks'],
['activators', 'Activators'],
['hill-functions', 'Ultrasensitivity & the Hill Function'],
['activators-vs-repressors', 'Choosing Between Activators & Repressors'],
]
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