added subpages
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@ -33,3 +33,6 @@ vendor/gems
|
||||
|
||||
# Ignore master key for decrypting credentials and more.
|
||||
/config/master.key
|
||||
|
||||
/app/assets/builds/*
|
||||
!/app/assets/builds/.keep
|
||||
|
||||
1
Gemfile
1
Gemfile
@ -8,6 +8,7 @@ gem "importmap-rails"
|
||||
gem "turbo-rails"
|
||||
gem "stimulus-rails"
|
||||
gem "jbuilder"
|
||||
gem 'tailwindcss-rails'
|
||||
|
||||
# gem "bcrypt", "~> 3.1.7"
|
||||
|
||||
|
||||
10
Gemfile.lock
10
Gemfile.lock
@ -312,6 +312,15 @@ GEM
|
||||
stimulus-rails (1.3.4)
|
||||
railties (>= 6.0.0)
|
||||
stringio (3.1.8)
|
||||
tailwindcss-rails (4.4.0)
|
||||
railties (>= 7.0.0)
|
||||
tailwindcss-ruby (~> 4.0)
|
||||
tailwindcss-ruby (4.1.16)
|
||||
tailwindcss-ruby (4.1.16-aarch64-linux-gnu)
|
||||
tailwindcss-ruby (4.1.16-aarch64-linux-musl)
|
||||
tailwindcss-ruby (4.1.16-arm64-darwin)
|
||||
tailwindcss-ruby (4.1.16-x86_64-linux-gnu)
|
||||
tailwindcss-ruby (4.1.16-x86_64-linux-musl)
|
||||
thor (1.4.0)
|
||||
thruster (0.1.16)
|
||||
thruster (0.1.16-aarch64-linux)
|
||||
@ -370,6 +379,7 @@ DEPENDENCIES
|
||||
selenium-webdriver
|
||||
sqlite3 (>= 2.1)
|
||||
stimulus-rails
|
||||
tailwindcss-rails
|
||||
thruster
|
||||
turbo-rails
|
||||
tzinfo-data
|
||||
|
||||
2
Procfile.dev
Normal file
2
Procfile.dev
Normal file
@ -0,0 +1,2 @@
|
||||
web: bin/rails server
|
||||
css: bin/rails tailwindcss:watch
|
||||
0
app/assets/builds/.keep
Normal file
0
app/assets/builds/.keep
Normal file
6
app/assets/tailwind/application.css
Normal file
6
app/assets/tailwind/application.css
Normal file
@ -0,0 +1,6 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
h1 { @apply font-bold text-2xl; }
|
||||
h2 { @apply font-bold text-xl; }
|
||||
ul { @apply list-inside; }
|
||||
li { @apply list-disc; }
|
||||
8
app/controllers/welcome_controller.rb
Normal file
8
app/controllers/welcome_controller.rb
Normal file
@ -0,0 +1,8 @@
|
||||
class WelcomeController < ApplicationController
|
||||
def index
|
||||
end
|
||||
|
||||
def pages
|
||||
render params[:page]
|
||||
end
|
||||
end
|
||||
2
app/helpers/welcome_helper.rb
Normal file
2
app/helpers/welcome_helper.rb
Normal file
@ -0,0 +1,2 @@
|
||||
module WelcomeHelper
|
||||
end
|
||||
@ -23,6 +23,19 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%= yield %>
|
||||
<nav class="m-4">
|
||||
<ul class="inline *:inline *:pr-2 *:after:content-['|'] *:after:pl-2">
|
||||
<li><%= link_to "Home", root_path %></li>
|
||||
<li><%= link_to "Leistungen", pages_path(:leistungen) %></li>
|
||||
<li><%= link_to "Anfahrt", pages_path(:anfahrt) %></li>
|
||||
<li><%= link_to "Kontakt", pages_path(:kontakt) %></li>
|
||||
<li><%= link_to "Datenschutz", pages_path(:datenschutz) %></li>
|
||||
<li><%= link_to "Impressum", pages_path(:impressum) %></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<main class="container mx-auto mt-28 px-5">
|
||||
<%= yield %>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
12
app/views/welcome/anfahrt.html.erb.muster
Normal file
12
app/views/welcome/anfahrt.html.erb.muster
Normal file
@ -0,0 +1,12 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Anfahrt</h1>
|
||||
<p>Find me in app/views/welcome/anfahrt.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Wir arbeiten hier mit Bilder und Links</li>
|
||||
<li>Weiter verwenden wir für die Plazierung auf der Seite div's mit p's und br's</li>
|
||||
</ul>
|
||||
</p>
|
||||
12
app/views/welcome/datenschutz.html.erb.muster
Normal file
12
app/views/welcome/datenschutz.html.erb.muster
Normal file
@ -0,0 +1,12 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Datenschutz</h1>
|
||||
<p>Find me in app/views/welcome/datenschutz.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Text und Heading</li>
|
||||
<li>Was beinhaltet eine Datenschutzseite?</li>
|
||||
</ul>
|
||||
</p>
|
||||
12
app/views/welcome/impressum.html.erb.muster
Normal file
12
app/views/welcome/impressum.html.erb.muster
Normal file
@ -0,0 +1,12 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Impressum</h1>
|
||||
<p>Find me in app/views/welcome/impressum.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Wieder Text mit H1 bis H6 und Paragaphen</li>
|
||||
<li>Was beinhaltet ein Impressum</li>
|
||||
</ul>
|
||||
</p>
|
||||
13
app/views/welcome/index.html.erb
Normal file
13
app/views/welcome/index.html.erb
Normal file
@ -0,0 +1,13 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Welcome</h1>
|
||||
<p>Find me in app/views/welcome/index.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Was sind Tags</li>
|
||||
<li>was ist CSS</li>
|
||||
<li>Wir machen und das Leben einfacher mit Tailwind CSS</li>
|
||||
</ul>
|
||||
</p>
|
||||
15
app/views/welcome/kontakt.html.erb.muster
Normal file
15
app/views/welcome/kontakt.html.erb.muster
Normal file
@ -0,0 +1,15 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Kontakt</h1>
|
||||
<p>Find me in app/views/welcome/kontakt.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Was ist ein Formular</li>
|
||||
<li>Was sind Felder, Text, Radio, Checkbox und Textarea</li>
|
||||
<li>Kann man Telefon, Email und Datum bei der Eingabe erzwingen?</li>
|
||||
<li>Ich stelle mich vor</li>
|
||||
<li>Ich baue ein Bild von mir ein</li>
|
||||
</ul>
|
||||
</p>
|
||||
12
app/views/welcome/leistungen.html.erb.muster
Normal file
12
app/views/welcome/leistungen.html.erb.muster
Normal file
@ -0,0 +1,12 @@
|
||||
<div>
|
||||
<h1 class="font-bold text-4xl">Leistungen</h1>
|
||||
<p>Find me in app/views/welcome/Leistungen.html.erb</p>
|
||||
</div>
|
||||
|
||||
<p class="mt-10">
|
||||
<h2>Beschreibung</h2>
|
||||
<ul>
|
||||
<li>Viel Text mit Header h1 - h6</li>
|
||||
<li>Text in Paragaphen mit p und br</li>
|
||||
</ul>
|
||||
</p>
|
||||
18
bin/dev
18
bin/dev
@ -1,2 +1,16 @@
|
||||
#!/usr/bin/env ruby
|
||||
exec "./bin/rails", "server", *ARGV
|
||||
#!/usr/bin/env sh
|
||||
|
||||
if ! gem list foreman -i --silent; then
|
||||
echo "Installing foreman..."
|
||||
gem install foreman
|
||||
fi
|
||||
|
||||
# Default to port 3000 if not specified
|
||||
export PORT="${PORT:-3000}"
|
||||
|
||||
# Let the debug gem allow remote connections,
|
||||
# but avoid loading until `debugger` is called
|
||||
export RUBY_DEBUG_OPEN="true"
|
||||
export RUBY_DEBUG_LAZY="true"
|
||||
|
||||
exec foreman start -f Procfile.dev "$@"
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
Rails.application.routes.draw do
|
||||
mount MissionControl::Jobs::Engine, at: '/jobs'
|
||||
|
||||
|
||||
get "up" => "rails/health#show", as: :rails_health_check
|
||||
|
||||
# Render dynamic PWA files from app/views/pwa/* (remember to link manifest in application.html.erb)
|
||||
# get "manifest" => "rails/pwa#manifest", as: :pwa_manifest
|
||||
# get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker
|
||||
|
||||
# Defines the root path route ("/")
|
||||
# root "posts#index"
|
||||
get "pages/:page" => "welcome#pages", as: :pages
|
||||
|
||||
root "welcome#index"
|
||||
end
|
||||
|
||||
@ -10,132 +10,5 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[8.0].define(version: 1) do
|
||||
create_table "solid_queue_blocked_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.string "queue_name", null: false
|
||||
t.integer "priority", default: 0, null: false
|
||||
t.string "concurrency_key", null: false
|
||||
t.datetime "expires_at", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["concurrency_key", "priority", "job_id"], name: "index_solid_queue_blocked_executions_for_release"
|
||||
t.index ["expires_at", "concurrency_key"], name: "index_solid_queue_blocked_executions_for_maintenance"
|
||||
t.index ["job_id"], name: "index_solid_queue_blocked_executions_on_job_id", unique: true
|
||||
end
|
||||
|
||||
create_table "solid_queue_claimed_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.bigint "process_id"
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["job_id"], name: "index_solid_queue_claimed_executions_on_job_id", unique: true
|
||||
t.index ["process_id", "job_id"], name: "index_solid_queue_claimed_executions_on_process_id_and_job_id"
|
||||
end
|
||||
|
||||
create_table "solid_queue_failed_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.text "error"
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["job_id"], name: "index_solid_queue_failed_executions_on_job_id", unique: true
|
||||
end
|
||||
|
||||
create_table "solid_queue_jobs", force: :cascade do |t|
|
||||
t.string "queue_name", null: false
|
||||
t.string "class_name", null: false
|
||||
t.text "arguments"
|
||||
t.integer "priority", default: 0, null: false
|
||||
t.string "active_job_id"
|
||||
t.datetime "scheduled_at"
|
||||
t.datetime "finished_at"
|
||||
t.string "concurrency_key"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["active_job_id"], name: "index_solid_queue_jobs_on_active_job_id"
|
||||
t.index ["class_name"], name: "index_solid_queue_jobs_on_class_name"
|
||||
t.index ["finished_at"], name: "index_solid_queue_jobs_on_finished_at"
|
||||
t.index ["queue_name", "finished_at"], name: "index_solid_queue_jobs_for_filtering"
|
||||
t.index ["scheduled_at", "finished_at"], name: "index_solid_queue_jobs_for_alerting"
|
||||
end
|
||||
|
||||
create_table "solid_queue_pauses", force: :cascade do |t|
|
||||
t.string "queue_name", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["queue_name"], name: "index_solid_queue_pauses_on_queue_name", unique: true
|
||||
end
|
||||
|
||||
create_table "solid_queue_processes", force: :cascade do |t|
|
||||
t.string "kind", null: false
|
||||
t.datetime "last_heartbeat_at", null: false
|
||||
t.bigint "supervisor_id"
|
||||
t.integer "pid", null: false
|
||||
t.string "hostname"
|
||||
t.text "metadata"
|
||||
t.datetime "created_at", null: false
|
||||
t.string "name", null: false
|
||||
t.index ["last_heartbeat_at"], name: "index_solid_queue_processes_on_last_heartbeat_at"
|
||||
t.index ["name", "supervisor_id"], name: "index_solid_queue_processes_on_name_and_supervisor_id", unique: true
|
||||
t.index ["supervisor_id"], name: "index_solid_queue_processes_on_supervisor_id"
|
||||
end
|
||||
|
||||
create_table "solid_queue_ready_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.string "queue_name", null: false
|
||||
t.integer "priority", default: 0, null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["job_id"], name: "index_solid_queue_ready_executions_on_job_id", unique: true
|
||||
t.index ["priority", "job_id"], name: "index_solid_queue_poll_all"
|
||||
t.index ["queue_name", "priority", "job_id"], name: "index_solid_queue_poll_by_queue"
|
||||
end
|
||||
|
||||
create_table "solid_queue_recurring_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.string "task_key", null: false
|
||||
t.datetime "run_at", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["job_id"], name: "index_solid_queue_recurring_executions_on_job_id", unique: true
|
||||
t.index ["task_key", "run_at"], name: "index_solid_queue_recurring_executions_on_task_key_and_run_at", unique: true
|
||||
end
|
||||
|
||||
create_table "solid_queue_recurring_tasks", force: :cascade do |t|
|
||||
t.string "key", null: false
|
||||
t.string "schedule", null: false
|
||||
t.string "command", limit: 2048
|
||||
t.string "class_name"
|
||||
t.text "arguments"
|
||||
t.string "queue_name"
|
||||
t.integer "priority", default: 0
|
||||
t.boolean "static", default: true, null: false
|
||||
t.text "description"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["key"], name: "index_solid_queue_recurring_tasks_on_key", unique: true
|
||||
t.index ["static"], name: "index_solid_queue_recurring_tasks_on_static"
|
||||
end
|
||||
|
||||
create_table "solid_queue_scheduled_executions", force: :cascade do |t|
|
||||
t.bigint "job_id", null: false
|
||||
t.string "queue_name", null: false
|
||||
t.integer "priority", default: 0, null: false
|
||||
t.datetime "scheduled_at", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.index ["job_id"], name: "index_solid_queue_scheduled_executions_on_job_id", unique: true
|
||||
t.index ["scheduled_at", "priority", "job_id"], name: "index_solid_queue_dispatch_all"
|
||||
end
|
||||
|
||||
create_table "solid_queue_semaphores", force: :cascade do |t|
|
||||
t.string "key", null: false
|
||||
t.integer "value", default: 1, null: false
|
||||
t.datetime "expires_at", null: false
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["expires_at"], name: "index_solid_queue_semaphores_on_expires_at"
|
||||
t.index ["key", "value"], name: "index_solid_queue_semaphores_on_key_and_value"
|
||||
t.index ["key"], name: "index_solid_queue_semaphores_on_key", unique: true
|
||||
end
|
||||
|
||||
add_foreign_key "solid_queue_blocked_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
add_foreign_key "solid_queue_claimed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
add_foreign_key "solid_queue_failed_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
add_foreign_key "solid_queue_ready_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
add_foreign_key "solid_queue_recurring_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
add_foreign_key "solid_queue_scheduled_executions", "solid_queue_jobs", column: "job_id", on_delete: :cascade
|
||||
ActiveRecord::Schema[8.0].define(version: 0) do
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user