Import the pebble dev site into devsite/

This commit is contained in:
Katharine Berry
2025-02-17 17:02:33 -08:00
parent 3b92768480
commit 527858cf4c
1359 changed files with 265431 additions and 0 deletions

53
devsite/config.ru Normal file
View File

@@ -0,0 +1,53 @@
require 'newrelic_rpm'
require 'rack/contrib/try_static'
require 'rack/rewrite'
require 'dotenv'
require 'rack/ssl-enforcer'
require 'rack/xframe-options'
require 'rack-host-redirect'
Dotenv.load
require 'dotenv'
def load_404
not_found_page = File.expand_path('../__public__/404.html', __FILE__)
File.read(not_found_page)
end
if ENV['RACK_ENV'] == 'development'
def not_found_html
load_404
end
else
use Rack::SslEnforcer,
:hsts => { :expires => 500, :subdomains => false },
:strict => true
not_found_html = load_404
end
use Rack::XFrameOptions, 'DENY'
# Determine if the C preview docs are enabled
docs_config = YAML.load_file('source/_data/docs.yaml')
preview_docs = docs_config.key?('c_preview')
use Rack::Rewrite do
# Redirect all old PebbleKit docs to their new location
r301 %r{/docs/js/(.*)}, '/docs/pebblekit-js/$1'
# Redirect C preview docs to main C docs if there are no preview docs
r302 %r{/docs/c/preview/?(.*)}, '/docs/c/$1' unless preview_docs
end
use Rack::HostRedirect, {
'developer.getpebble.com' => 'developer.pebble.com'
}
use Rack::TryStatic,
root: '__public__',
urls: %w(/),
try: %w(.html index.html /index.html)
run lambda{ |_env|
[404, { 'Content-Type' => 'text/html' }, [not_found_html]]
}