summaryrefslogtreecommitdiff
path: root/Gemfile
diff options
context:
space:
mode:
Diffstat (limited to 'Gemfile')
-rw-r--r--Gemfile75
1 files changed, 75 insertions, 0 deletions
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..13bb4ca
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,75 @@
1source 'https://rubygems.org'
2
3ruby '3.2.11'
4
5# ── Core framework ────────────────────────────────────────────────────────────
6
7gem 'rails', '~> 8.1'
8gem 'rails-i18n', '~> 8.0' # AR error messages and date formats for :de locale
9
10# concurrent-ruby 1.3 ships with Rails 8 but has a known incompatibility with
11# some versions of Zeitwerk unless pinned. Remove once upstream resolves it.
12gem 'concurrent-ruby', '~> 1.3'
13
14gem 'puma' # default Rails 8 server; used in development only
15gem 'unicorn', '~> 6.1' # production server (FreeBSD jail, managed via rc.d)
16
17# ── Database ──────────────────────────────────────────────────────────────────
18
19gem 'pg', '~> 1.5'
20
21# ── Asset pipeline ────────────────────────────────────────────────────────────
22
23gem 'sprockets-rails'
24gem 'sass-rails', '~> 6.0'
25gem 'coffee-rails', '~> 4.0'
26gem 'uglifier', '>= 1.0.3'
27
28gem 'jquery-rails' # provides jQuery via asset pipeline (admin only)
29gem 'jquery-ui-rails' # provides jQuery UI via asset pipeline (admin only)
30
31# TinyMCE 8 via asset pipeline; replaces vendored TinyMCE 3 in public/javascripts.
32# Note: TinyMCE 7+ is GPL-licensed.
33gem 'tinymce-rails', '~> 8.3'
34
35# ── Model layer ───────────────────────────────────────────────────────────────
36
37gem 'globalize', '~> 7.0' # translated model attributes (Page title/abstract/body)
38gem 'acts_as_list' # page revision ordering
39gem 'will_paginate', '~> 3.0'
40
41# Pinned to git until a release widens the activerecord < 8.1 ceiling.
42# Both gems work correctly on Rails 8.1; the gemspec constraint is overly conservative.
43# Revisit when acts-as-taggable-on > 12.x or awesome_nested_set > 3.8.0 is released.
44gem 'acts-as-taggable-on',
45 git: 'https://github.com/mbleigh/acts-as-taggable-on.git',
46 branch: 'master'
47gem 'awesome_nested_set',
48 git: 'https://github.com/collectiveidea/awesome_nested_set.git',
49 branch: 'main'
50
51# ── XML / parsing ─────────────────────────────────────────────────────────────
52
53gem 'libxml-ruby', '~> 5.0', require: 'xml' # body link rewriting in Page model
54gem 'nokogiri', '~> 1.18'
55
56# ── Operational ───────────────────────────────────────────────────────────────
57
58gem 'exception_notification', '~> 4.5'
59
60# chaos_calendar: C extension wrapping libical for the public events calendar.
61# Pinned to custom branch; includes FreeBSD 15.1 / libical 3.x header path fix
62# and icaltime_from_timet_with_zone floating-time semantics.
63gem 'chaos_calendar',
64 git: 'https://github.com/erdgeist/chaoscalendar.git',
65 branch: 'erdgeist-ruby1.9',
66 require: 'chaos_calendar'
67
68# ── Test ──────────────────────────────────────────────────────────────────────
69
70group :test do
71 gem 'test-unit', '~> 3.5'
72 gem 'rails-controller-testing'
73 # minitest ~> 5.25 required; 6.x breaks the Rails 8 test runner.
74 gem 'minitest', '~> 5.25'
75end