added subpages

This commit is contained in:
2025-11-19 10:30:38 +01:00
parent a52605f8e8
commit e0869958ab
18 changed files with 143 additions and 134 deletions

3
.gitignore vendored
View File

@ -33,3 +33,6 @@ vendor/gems
# Ignore master key for decrypting credentials and more.
/config/master.key
/app/assets/builds/*
!/app/assets/builds/.keep

View File

@ -8,6 +8,7 @@ gem "importmap-rails"
gem "turbo-rails"
gem "stimulus-rails"
gem "jbuilder"
gem 'tailwindcss-rails'
# gem "bcrypt", "~> 3.1.7"

View File

@ -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
View File

@ -0,0 +1,2 @@
web: bin/rails server
css: bin/rails tailwindcss:watch

0
app/assets/builds/.keep Normal file
View File

View 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; }

View File

@ -0,0 +1,8 @@
class WelcomeController < ApplicationController
def index
end
def pages
render params[:page]
end
end

View File

@ -0,0 +1,2 @@
module WelcomeHelper
end

View File

@ -23,6 +23,19 @@
</head>
<body>
<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>

View 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>

View 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>

View 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>

View 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>

View 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>

View 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
View File

@ -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 "$@"

View File

@ -7,6 +7,7 @@ Rails.application.routes.draw do
# 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

View File

@ -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