Compare commits

..

66 Commits

Author SHA1 Message Date
6a8a4ca8b1 Update footer donate link 2025-04-12 19:08:01 -07:00
47baf9b9f0 Update footer links 2025-04-12 19:06:49 -07:00
c283a31b13 Remove become editor link from published pages 2025-04-12 19:06:42 -07:00
be6dd460c3 Mobile hide useless topic list header 2025-03-27 21:13:12 -07:00
5dc3123382 Mobile increase content width on topic list page 2025-03-27 21:13:00 -07:00
96044136f0 Mobile improvements
- Post preview is wider when look at the list of posts
- Hide the topic navigation that is useless on mobile
2025-03-27 21:06:11 -07:00
82d7141b0a Fix padding on become and editor button 2025-03-27 19:20:05 -07:00
d8d0a2aad1 Update housing footer links. 2025-03-27 19:20:05 -07:00
1c5036d5a2 Hide date controls in user directory 2025-03-27 19:20:05 -07:00
252f1082d8 Hide metadata on user cards 2025-03-27 19:20:05 -07:00
1ab01a8be3 Fix box shadow and background color 2025-03-27 19:08:25 -07:00
24797e1497 Change highlighted header to 2nd last element 2025-03-27 19:00:34 -07:00
0513956e0a Add margin to lists on published pages 2025-03-27 19:00:34 -07:00
cb23f93684 Hide site logo on error page 2025-03-27 19:00:34 -07:00
af623ae685 Link to become an editor on published pages 2025-03-27 19:00:34 -07:00
db124cb2ab Add footer links 2025-03-27 19:00:03 -07:00
af733478af Make published page look more like OrcasHub 2025-03-27 18:58:20 -07:00
adf2ad6480 Switch to forked version of User Card Directory 2025-03-27 18:58:20 -07:00
1462b336a8 Hide OrcasHub in sidebar on desktop 2025-03-27 18:58:20 -07:00
a1d5e8cf49 Add additional theme components 2025-03-27 18:58:20 -07:00
87323efb2f Hide lock icon globally 2025-03-27 18:58:20 -07:00
abfa52aac5 Add login CTA 2025-03-27 18:58:20 -07:00
9cf2d4f2b5 Start cleaning up unnecessary elements on Community Resources category 2025-03-27 18:58:20 -07:00
c1dbc410d0 Hide category description headings 2025-03-27 18:58:20 -07:00
2d5d3852a0 Add user card directory component 2025-03-27 18:58:20 -07:00
4fb78764ee Hide badges from user card 2025-03-27 18:58:20 -07:00
5e9ca97ef7 Resize category logos 2025-03-27 18:57:59 -07:00
74b40cd026 Hide side banner on create account screen 2025-03-27 18:57:59 -07:00
6b25f4dbec Add custom header links 2025-03-27 18:57:59 -07:00
aac2eb7a79 Add custom footer and styles 2025-03-27 18:57:59 -07:00
fd5db2c464 Adjust border radius on category list page 2025-03-27 18:57:19 -07:00
7f2bf5af1a Hide default logo 2025-03-27 18:56:49 -07:00
00a089c163 Add OrcasHub header image 2025-03-27 18:56:49 -07:00
d88fc2dcbc Adjust border radius to match OrcasHub 2025-03-27 18:56:49 -07:00
f913614ee4 Remove background-container 2025-03-27 18:56:49 -07:00
ea64e87be3 Start updating colors to OrcasHub colors 2025-03-27 18:56:15 -07:00
562c0b92b9 Rename theme 2025-03-27 18:55:54 -07:00
271148a480 Change background to plain secondary color 2025-03-27 18:54:17 -07:00
a0b530dcd5 DEV: Update linting (#76) 2025-03-17 11:46:35 +00:00
0ea5befe97 Bump rack from 3.1.8 to 3.1.10 (#73)
Bumps [rack](https://github.com/rack/rack) from 3.1.8 to 3.1.10.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v3.1.8...v3.1.10)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-12 22:08:22 +01:00
3939cc4da9 UX: general styling improvements, maintenance (#72) 2025-02-11 17:35:36 -05:00
2efca77dda DEV: Bump dependencies and fix linting (#71) 2025-02-06 18:01:35 +01:00
40e811f10a DEV: Pin version for Discourse <3.5.0.beta1-dev (#70) 2025-02-05 19:30:26 +01:00
83e2797ceb DEV: Always run backwards-compat logic (#67)
There was a ~1 week period where the modifier existed in core, but only applied to the new topic list.

Running the modifyClass unconditionally takes care of that. We'll be removing it once the raw-hbs topic list is removed in the next few months.
2025-01-08 17:00:25 +00:00
7cbd064aca DEV: Update for glimmer topic list (#66) 2025-01-06 16:34:25 +00:00
a5ff337433 DEV: Update linting (#65) 2024-11-28 15:11:58 +01:00
9082c3111c DEV: Update linting (#64) 2024-11-20 18:37:56 +01:00
83778b2a74 Bump cross-spawn from 7.0.3 to 7.0.6 (#63)
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 11:00:54 +00:00
b29b3e55d0 DEV: Update eslint config (#62) 2024-11-19 11:34:46 +01:00
5c30d32fd2 UX: Add theme screenshots (#61)
Soon we will have a mechanism in core to show
screenshots defined in a theme or component's
repo when that theme is installed. Air is a good
theme to start this with for testing.
2024-10-23 15:17:34 +10:00
eefec6d033 UX: Update theme description to match core install modal (#60)
The new theme grid in core will make more use of this description.
2024-10-22 10:04:53 +10:00
ec28c7378b DEV: Update linting setup (#59) 2024-10-17 11:06:38 +02:00
9be68bbb1e DEV: Switch to use pnpm (#58) 2024-10-14 09:34:18 +02:00
1799d09a43 DEV: Switch to use pnpm (#56) 2024-10-07 16:29:10 +08:00
3e6a99b610 Bump micromatch from 4.0.5 to 4.0.8 (#55)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-01 12:44:40 +02:00
41106a8ea2 DEV: Pin theme for Discourse < 3.4.0.beta1-dev (#53) 2024-08-02 17:28:20 +08:00
93551f55d6 Bump braces from 3.0.2 to 3.0.3 (#52)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 10:46:28 +02:00
47a8202e2b Update about.json (#51) 2024-06-09 17:07:22 +01:00
a435c5f25d FIX: Add padding to topic voting title (#50) 2024-05-17 14:48:23 -05:00
cf24fdbd82 fix (#48) 2024-03-28 14:08:35 -05:00
5dd9f83726 DEV: Update linting (#47) 2024-03-27 16:15:52 +00:00
50c16bd067 FIX: add bg for calendars (#46) 2024-03-26 11:39:22 -05:00
3b02612ad4 fix (#45) 2024-03-25 15:33:47 -05:00
596b28e424 FIX: Fix quote button bg (#44) 2024-03-15 15:43:12 -05:00
e223ab3008 FIX: Updates for more user pages on mobile (#43) 2024-03-07 22:23:41 -06:00
5667a3b6e9 DEV: Pin theme for Discourse < 3.3.0.beta1-dev (#42) 2024-02-29 12:48:31 -07:00
31 changed files with 4726 additions and 2764 deletions

View File

@ -1,2 +1,5 @@
< 3.5.0.beta1-dev: 83e2797ceb40d9832a40ee8c4bc32c7127e9dcda
< 3.4.0.beta4-dev: a5ff3374335f17b46654c4ae1e5be7b539c2da1a
< 3.4.0.beta1-dev: 93551f55d6e9f8d688f1f9dc0b6a2f14eb08b603
< 3.3.0.beta1-dev: 85dc24d6b58d1b16e6d225ae710633dc20c34d08
3.1.999: 1e5882a1541b932f9512f6a7d667b333c1708f53 3.1.999: 1e5882a1541b932f9512f6a7d667b333c1708f53

View File

@ -1,8 +0,0 @@
{
"extends": "eslint-config-discourse",
"ignorePatterns": ["javascripts/vendor/*"],
"globals": {
"settings": "readonly",
"themePrefix": "readonly"
}
}

View File

@ -1,48 +0,0 @@
name: Linting
on:
push:
branches:
- main
pull_request:
concurrency:
group: plugin-linting-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 16
cache: yarn
- name: Yarn install
run: yarn install
- name: ESLint
if: ${{ always() }}
run: yarn eslint --ext .js,.js.es6 --no-error-on-unmatched-pattern {test,javascripts}
- name: Prettier
if: ${{ always() }}
shell: bash
run: |
yarn prettier -v
files=$(find javascripts desktop mobile common scss -type f \( -name "*.scss" -or -name "*.js" -or -name "*.es6" \) 2> /dev/null) || true
if [ -n "$files" ]; then
yarn prettier --list-different $files
fi
if [ 0 -lt $(find test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
yarn prettier --list-different "test/**/*.{js,es6}"
fi
- name: Ember template lint
if: ${{ always() }}
run: yarn ember-template-lint --no-error-on-unmatched-pattern javascripts

View File

@ -1,147 +0,0 @@
name: Tests
on:
push:
branches:
- main
pull_request:
concurrency:
group: plugin-tests-${{ format('{0}-{1}', github.head_ref || github.run_number, github.job) }}
cancel-in-progress: true
jobs:
check:
runs-on: ubuntu-latest
outputs:
tests_exist: ${{ steps.check_tests.outputs.tests_exist }}
steps:
- name: Install component
uses: actions/checkout@v3
with:
path: tmp/component
fetch-depth: 1
- name: Check QUnit existence
id: check_tests
shell: bash
run: |
if [ 0 -lt $(find tmp/component/test -type f \( -name "*.js" -or -name "*.es6" \) 2> /dev/null | wc -l) ]; then
echo "::set-output name=tests_exist::true"
fi
test:
needs: check
if: ${{ needs.check.outputs.tests_exist }}
runs-on: ubuntu-latest
container: discourse/discourse_test:slim-browsers
timeout-minutes: 15
env:
DISCOURSE_HOSTNAME: www.example.com
RUBY_GLOBAL_METHOD_CACHE_SIZE: 131072
RAILS_ENV: development
PGUSER: discourse
PGPASSWORD: discourse
steps:
- uses: actions/checkout@v3
with:
repository: discourse/discourse
fetch-depth: 1
- name: Install component
uses: actions/checkout@v3
with:
path: tmp/component
fetch-depth: 1
- name: Setup Git
run: |
git config --global user.email "ci@ci.invalid"
git config --global user.name "Discourse CI"
- name: Start redis
run: |
redis-server /etc/redis/redis.conf &
- name: Start Postgres
run: |
chown -R postgres /var/run/postgresql
sudo -E -u postgres script/start_test_db.rb
sudo -u postgres psql -c "CREATE ROLE $PGUSER LOGIN SUPERUSER PASSWORD '$PGPASSWORD';"
- name: Bundler cache
uses: actions/cache@v3
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Setup gems
run: |
gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
bundle config --local path vendor/bundle
bundle config --local deployment true
bundle config --local without development
bundle install --jobs 4
bundle clean
- name: Lint English locale
run: bundle exec ruby script/i18n_lint.rb "tmp/component/locales/en.yml"
- name: Get yarn cache directory
id: yarn-cache-dir
run: echo "::set-output name=dir::$(yarn cache dir)"
- name: Yarn cache
uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Yarn install
run: yarn install
- name: Fetch app state cache
uses: actions/cache@v3
id: app-cache
with:
path: tmp/app-cache
key: >-
${{ hashFiles('.github/workflows/tests.yml') }}-
${{ hashFiles('db/**/*', 'plugins/**/db/**/*') }}-
- name: Restore database from cache
if: steps.app-cache.outputs.cache-hit == 'true'
run: psql -f tmp/app-cache/cache.sql postgres
- name: Restore uploads from cache
if: steps.app-cache.outputs.cache-hit == 'true'
run: rm -rf public/uploads && cp -r tmp/app-cache/uploads public/uploads
- name: Create and migrate database
if: steps.app-cache.outputs.cache-hit != 'true'
run: |
bin/rake db:create
bin/rake db:migrate
- name: Dump database for cache
if: steps.app-cache.outputs.cache-hit != 'true'
run: mkdir -p tmp/app-cache && pg_dumpall > tmp/app-cache/cache.sql
- name: Dump uploads for cache
if: steps.app-cache.outputs.cache-hit != 'true'
run: rm -rf tmp/app-cache/uploads && cp -r public/uploads tmp/app-cache/uploads
- name: Component QUnit
run: |
THEME_NAME=$(ruby -e 'require "json"; puts JSON.parse(File.read("tmp/component/about.json"))["name"]')
bundle exec rake themes:install -- "--{\"$THEME_NAME\": \"tmp/component\"}"
UNICORN_TIMEOUT=120 bundle exec rake "themes:qunit[name,$THEME_NAME]"
timeout-minutes: 10

11
.github/workflows/discourse-theme.yml vendored Normal file
View File

@ -0,0 +1,11 @@
name: Discourse Theme
on:
push:
branches:
- main
pull_request:
jobs:
ci:
uses: discourse/.github/.github/workflows/discourse-theme.yml@v1

2
.npmrc Normal file
View File

@ -0,0 +1,2 @@
engine-strict = true
auto-install-peers = false

View File

@ -1 +0,0 @@
{}

1
.prettierrc.cjs Normal file
View File

@ -0,0 +1 @@
module.exports = require("@discourse/lint-configs/prettier");

2
.rubocop.yml Normal file
View File

@ -0,0 +1,2 @@
inherit_gem:
rubocop-discourse: stree-compat.yml

2
.streerc Normal file
View File

@ -0,0 +1,2 @@
--print-width=100
--plugins=plugin/trailing_comma,plugin/disable_auto_ternary

1
.template-lintrc.cjs Normal file
View File

@ -0,0 +1 @@
module.exports = require("@discourse/lint-configs/template-lint");

View File

@ -1,4 +0,0 @@
module.exports = {
plugins: ["ember-template-lint-plugin-discourse"],
extends: "discourse:recommended",
};

8
Gemfile Normal file
View File

@ -0,0 +1,8 @@
# frozen_string_literal: true
source "https://rubygems.org"
group :development do
gem "rubocop-discourse"
gem "syntax_tree"
end

101
Gemfile.lock Normal file
View File

@ -0,0 +1,101 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (8.0.2)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
ast (2.4.2)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
concurrent-ruby (1.3.5)
connection_pool (2.5.0)
drb (2.2.1)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.10.2)
language_server-protocol (3.17.0.4)
lint_roller (1.1.0)
logger (1.6.6)
minitest (5.25.5)
parallel (1.26.3)
parser (3.3.7.1)
ast (~> 2.4.1)
racc
prettier_print (1.2.1)
racc (1.8.1)
rack (3.1.12)
rainbow (3.1.1)
regexp_parser (2.10.0)
rubocop (1.74.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.38.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.39.0)
parser (>= 3.3.1.0)
rubocop-capybara (2.22.1)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-discourse (3.12.1)
activesupport (>= 6.1)
lint_roller (>= 1.1.0)
rubocop (>= 1.73.2)
rubocop-capybara (>= 2.22.0)
rubocop-factory_bot (>= 2.27.0)
rubocop-rails (>= 2.30.3)
rubocop-rspec (>= 3.0.1)
rubocop-rspec_rails (>= 2.31.0)
rubocop-factory_bot (2.27.1)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-rails (2.30.3)
activesupport (>= 4.2.0)
lint_roller (~> 1.1)
rack (>= 1.1)
rubocop (>= 1.72.1, < 2.0)
rubocop-ast (>= 1.38.0, < 2.0)
rubocop-rspec (3.5.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-rspec_rails (2.31.0)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-rspec (~> 3.5)
ruby-progressbar (1.13.0)
securerandom (0.4.1)
syntax_tree (6.2.0)
prettier_print (>= 1.2.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.3)
PLATFORMS
arm64-darwin-23
ruby
DEPENDENCIES
rubocop-discourse
syntax_tree
BUNDLED WITH
2.6.6

View File

@ -1,7 +1,7 @@
{ {
"name": "OrcasHub Theme", "name": "OrcasHub Theme",
"about_url": null, "about_url": "https://meta.discourse.org/t/discourse-air-theme/197703",
"license_url": null, "license_url": "https://github.com/discourse/discourse-air/blob/main/LICENSE",
"components": [ "components": [
"https://github.com/jordanvidrine/discourse-category-group-boxes.git", "https://github.com/jordanvidrine/discourse-category-group-boxes.git",
"https://github.com/discourse/discourse-clickable-topic.git", "https://github.com/discourse/discourse-clickable-topic.git",
@ -27,7 +27,10 @@
"highlight": "e6cb37", "highlight": "e6cb37",
"danger": "d05454", "danger": "d05454",
"success": "71bd9f", "success": "71bd9f",
"love": "c16ad7" "love": "c16ad7",
"selected": "2f0177",
"hover": "535353"
} }
} },
} "screenshots": ["screenshots/light.png", "screenshots/dark.png"]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,3 @@
<div class="become-editor-link">
<a href="https://orcas.community/editor">
Become an editor
</a>
</div>
<footer class="orcashub-footer"> <footer class="orcashub-footer">
<div class="outer-container"> <div class="outer-container">
<div class="inner-container"> <div class="inner-container">
@ -12,19 +6,19 @@
<div> <div>
<h3>Classifieds</h3> <h3>Classifieds</h3>
<ul> <ul>
<li><a href="https://orcas.community/classified/for-sale">For Sale</a></li> <li><a href="https://orcashub.org/classified/for-sale">For Sale</a></li>
<li><a href="https://orcas.community/classified/for-free">For Free</a></li> <li><a href="https://orcashub.org/classified/for-free">For Free</a></li>
<li><a href="https://orcas.community/classified/want-to-buy">Looking For</a></li> <li><a href="https://orcashub.org/classified/want-to-buy">Looking For</a></li>
<li><a href="https://orcas.community/classified/want-to-borrow">Want to Borrow</a></li> <li><a href="https://orcashub.org/classified/want-to-borrow">Want to Borrow</a></li>
<li><a href="https://orcas.community/classified/new">New Post</a> </li> <li><a href="https://orcashub.org/classified/new">New Post</a> </li>
</ul> </ul>
</div> </div>
<div class="second-group"> <div class="second-group">
<h3>Housing</h3> <h3>Housing</h3>
<ul> <ul>
<li><a href="https://orcas.community/housing?filters=basic_for-rent">For Rent</a></li> <li><a href="https://orcashub.org/housing?filters=basic_for-rent">For Rent</a></li>
<li><a href="https://orcas.community/housing?filters=basic_request">Requests</a> </li> <li><a href="https://orcashub.org/housing?filters=basic_request">Requests</a> </li>
<li><a href="https://orcas.community/housing/new">New Post</a> </li> <li><a href="https://orcashub.org/housing/new">New Post</a> </li>
</ul> </ul>
</div> </div>
</div> </div>
@ -33,20 +27,20 @@
<h3>Other Services</h3> <h3>Other Services</h3>
<ul> <ul>
<li><a href="/" target="_blank">Groups</a> </li> <li><a href="/" target="_blank">Groups</a> </li>
<li><a href="https://orcas.community/events">Events</a> </li> <li><a href="https://orcashub.org/events">Events</a> </li>
<li><a href="https://sanjuans.online/" target="_blank">San Juans Online</a></li> <li><a href="https://wiki.orcashub.org/" target="_blank">Resources</a></li>
</ul> </ul>
</div> </div>
<div class="second-group"> <div class="second-group">
<h3>About</h3> <h3>About</h3>
<ul> <ul>
<li><a href="https://orcas.community/terms-of-service">Terms of Service</a></li> <li><a href="https://orcashub.org/terms-of-service">Terms of Service</a></li>
<li><a href="https://orcas.community/privacy-policy">Privacy Policy</a></li> <li><a href="https://orcashub.org/privacy-policy">Privacy Policy</a></li>
<li><a href="https://opencollective.com/orcas-community" target="_blank">Donate</a></li> <li><a href="https://orcashub.org/donate" target="_blank">Donate</a></li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</footer> </footer>

3
eslint.config.mjs Normal file
View File

@ -0,0 +1,3 @@
import DiscourseRecommendedTheme from "@discourse/lint-configs/eslint-theme";
export default [...DiscourseRecommendedTheme];

View File

@ -1,5 +1,5 @@
import { withPluginApi } from "discourse/lib/plugin-api";
import { cancel } from "@ember/runloop"; import { cancel } from "@ember/runloop";
import { withPluginApi } from "discourse/lib/plugin-api";
export default { export default {
name: "customize-edit-category-general", name: "customize-edit-category-general",

View File

@ -1,8 +1,13 @@
import { apiInitializer } from "discourse/lib/api"; import { apiInitializer } from "discourse/lib/api";
import { withSilencedDeprecations } from "discourse/lib/deprecated";
export default apiInitializer("0.8", (api) => { export default apiInitializer("0.8", (api) => {
api.modifyClass("component:topic-list-item", { api.registerValueTransformer("topic-list-item-expand-pinned", () => true);
pluginId: "orcashub-discourse-theme",
expandPinned: true, withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
api.modifyClass("component:topic-list-item", {
pluginId: "orcashub-discourse-theme",
expandPinned: true,
});
}); });
}); });

View File

@ -1,3 +1,3 @@
en: en:
theme_metadata: theme_metadata:
description: "Discourse Air Theme" description: "A clean and modern theme for Discourse"

View File

@ -10,6 +10,7 @@
h1 { h1 {
font-size: 2.5em !important; font-size: 2.5em !important;
} }
p { p {
font-weight: normal; font-weight: normal;
font-size: $font-up-1; font-size: $font-up-1;
@ -17,15 +18,45 @@
} }
html html
body:not(.static-tos):not(.static-faq):not(.static-privacy):not(.about-page):not(.static-faq):not(.badges-page):not(.tags-page):not(.archetype-banner):not(.archetype-regular):not(.archetype-private_message):not(.admin-interface):not(.edit-category):not(.user-summary-page):not(.user-activity-page):not(.user-invites-page):not(.user-preferences-page) body:not(
.static-tos,
.static-faq,
.static-privacy,
.about-page,
.static-faq,
.badges-page,
.tags-page,
.archetype-banner,
.archetype-regular,
.archetype-private_message,
.admin-interface,
.edit-category,
.user-summary-page,
.user-activity-page,
.user-invites-page,
.user-preferences-page,
.user-messages-page,
.user-notifications-page,
.user-badges-page
)
#main-outlet { #main-outlet {
width: calc(100% - 1em); width: calc(100% - 1em);
padding: 0em 0.5em 1em 0.5em; padding: 0 0.5em 1em 0.5em;
box-shadow: none; box-shadow: none;
background-color: transparent; background-color: transparent;
} }
#main-outlet {
margin-inline: auto;
}
html body #main-outlet .docs {
padding: 1em;
background-color: var(--secondary);
}
html body.static-tos #main-outlet, html body.static-tos #main-outlet,
html body.no-ember #main-outlet,
html body.static-privacy #main-outlet, html body.static-privacy #main-outlet,
html body.about-page #main-outlet, html body.about-page #main-outlet,
html body.static-faq #main-outlet, html body.static-faq #main-outlet,
@ -39,11 +70,18 @@ html body.user-summary-page #main-outlet,
html body.user-activity-page #main-outlet, html body.user-activity-page #main-outlet,
html body.user-invites-page #main-outlet, html body.user-invites-page #main-outlet,
html body.user-preferences-page #main-outlet, html body.user-preferences-page #main-outlet,
html body.user-messages-page #main-outlet,
html body.user-notifications-page #main-outlet,
html body.user-badges-page #main-outlet,
html body.staff:not(.navigation-topics) #main-outlet { html body.staff:not(.navigation-topics) #main-outlet {
border-radius: 0px; border-radius: 0;
width: calc(100% - 3em); width: calc(100% - 3em);
background-color: var(--secondary); background-color: var(--secondary);
margin-bottom: 0px; margin-bottom: 0;
}
html body.navigation-category #main-outlet {
width: calc(100% - 1em) !important;
} }
.container.posts > .row { .container.posts > .row {
@ -52,7 +90,7 @@ html body.staff:not(.navigation-topics) #main-outlet {
.navigation-categories .navigation-container, .navigation-categories .navigation-container,
.categories-list .navigation-container { .categories-list .navigation-container {
border-bottom: 0px !important; border-bottom: 0 !important;
} }
body.category .category-breadcrumb .select-kit-header, body.category .category-breadcrumb .select-kit-header,
@ -81,16 +119,18 @@ ol.category-breadcrumb {
border-radius: 8px; border-radius: 8px;
border: none; border: none;
background-color: var(--secondary); background-color: var(--secondary);
a:hover, a:hover,
a:focus { a:focus {
color: var(--primary); color: var(--primary);
background-color: var(--secondary); background-color: var(--secondary);
} }
} }
.drop { .drop {
top: calc(100% + 0.5em); top: calc(100% + 0.5em);
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.25); box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
} }
} }
@ -99,6 +139,10 @@ ol.category-breadcrumb {
max-width: unset; max-width: unset;
} }
.topic-list .topic-list-data .main-link {
width: 90%;
}
.custom-search-banner-wrap .search-context { .custom-search-banner-wrap .search-context {
top: 3em !important; top: 3em !important;
} }
@ -133,7 +177,7 @@ ol.category-breadcrumb {
background: var(--secondary); background: var(--secondary);
padding: 1em; padding: 1em;
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05); box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
border: 1px solid rgba(var(--primary-rgb), 0.1); border: 1px solid rgba(var(--primary-rgb), 0.1);
margin-bottom: 0.5em; margin-bottom: 0.5em;
} }
@ -150,26 +194,29 @@ ol.category-breadcrumb {
border-bottom-right-radius: 8px; border-bottom-right-radius: 8px;
} }
.full-width .contents .topic-list .topic-list-header tr { .full-width .contents .topic-list .topic-list-header {
background-color: var(--secondary); display: none;
border-radius: 8px;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.05);
border: 1px solid rgba(var(--primary-rgb), 0.1);
margin-bottom: 1em;
} }
.topic-list .topic-item-stats { .topic-list .topic-item-stats {
flex-wrap: wrap; flex-wrap: wrap;
} }
.topic-list-item .discourse-tags { .topic-list-item {
order: 3; > .topic-list-data {
width: 100%; width: 100%;
margin-top: 0.5em; }
.discourse-tags {
order: 3;
width: 100%;
margin-top: 0.5em;
}
} }
.full-width .contents .topic-list .topic-list-item .posts-map { .full-width .contents .topic-list .topic-list-item .posts-map {
padding: 0; padding: 0;
.number { .number {
margin: 0; margin: 0;
} }
@ -184,29 +231,39 @@ ol.category-breadcrumb {
width: unset; width: unset;
} }
.topic-list .topic-list-header .topic-list-data,
.topic-list .topic-list-item .topic-list-data { .topic-list .topic-list-item .topic-list-data {
padding: 15px; padding: 15px;
} }
// default category list styles when the modern category boxes theme component isn't used // default category list styles when the modern category boxes theme component isn't used
.category-list-item.category { .category-list-item.category {
background: var(--secondary); background: var(--secondary);
border-radius: 1em; border-radius: 1em;
tbody { tbody {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
} }
td { td {
width: 100%; width: 100%;
} }
.num.posts { .num.posts {
padding-right: 0.25em; padding-right: 0.25em;
} }
} }
.list-controls .nav-pills .list-control-toggle-link-trigger {
color: var(--secondary);
}
// Hide the "4/7" topic navigation when on mobile since it's always stuck to the bottom anyway.
.topic-navigation {
display: none !important;
}
// Footer // Footer
.custom-footer { .custom-footer {
.list { .list {

View File

@ -1,10 +1,17 @@
{ {
"name": "orcashub-discourse-theme", "private": true,
"version": "1.0.0",
"repository": "https://git.grosinger.net/tgrosinger/orcashub-discourse-theme",
"author": "Jordan Vidrine",
"license": "GPL-2.0-or-later",
"devDependencies": { "devDependencies": {
"eslint-config-discourse": "^3.2.0" "@discourse/lint-configs": "2.11.1",
} "ember-template-lint": "7.0.1",
"eslint": "9.22.0",
"prettier": "3.5.3",
"stylelint": "16.16.0"
},
"engines": {
"node": ">= 22",
"npm": "please-use-pnpm",
"yarn": "please-use-pnpm",
"pnpm": "9.x"
},
"packageManager": "pnpm@9.15.5"
} }

4022
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

BIN
screenshots/dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 507 KiB

BIN
screenshots/light.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

View File

@ -2,6 +2,7 @@ html body.has-sidebar-page.has-full-page-chat {
#main-outlet-wrapper { #main-outlet-wrapper {
gap: 2em; gap: 2em;
} }
#main-outlet { #main-outlet {
padding-bottom: 0 !important; padding-bottom: 0 !important;
} }
@ -12,7 +13,7 @@ html body.has-sidebar-page.has-full-page-chat {
} }
.chat-channel { .chat-channel {
height: calc(100vh - (var(--header-offset) + 10em)); height: calc(100vh - (var(--header-offset) + 7.85em));
} }
.c-navbar-container { .c-navbar-container {
@ -29,7 +30,8 @@ html body.has-sidebar-page.has-full-page-chat {
.has-full-page-chat #main-outlet.wrap { .has-full-page-chat #main-outlet.wrap {
margin-bottom: 30px; margin-bottom: 30px;
padding-bottom: 0px !important; padding-bottom: 0 !important;
.full-page-chat { .full-page-chat {
grid-template-rows: calc(var(--full-page-chat-height) - 50px); grid-template-rows: calc(var(--full-page-chat-height) - 50px);
} }
@ -46,6 +48,7 @@ html body.has-sidebar-page.has-full-page-chat {
border-radius: 0; border-radius: 0;
margin: 0; margin: 0;
padding: 0; padding: 0;
.full-page-chat { .full-page-chat {
grid-template-rows: var(--full-page-chat-height); grid-template-rows: var(--full-page-chat-height);
} }

View File

@ -1,27 +1,5 @@
.showcased-categories-sidebar .two-topic-list-sidebar {
.topic-excerpt {
display: none;
}
.btn-link.posts-map.badge-posts {
display: block;
}
.two-topic-list-sidebar .topic-list .topic-list-item {
height: unset;
}
}
.showcased-categories-sidebar { .showcased-categories-sidebar {
.full-width .contents .topic-list {
display: unset;
}
.two-topic-list-sidebar { .two-topic-list-sidebar {
.topic-excerpt {
display: none;
}
.btn-link.posts-map.badge-posts { .btn-link.posts-map.badge-posts {
display: block; display: block;
} }
@ -29,5 +7,13 @@
.topic-list .topic-list-item { .topic-list .topic-list-item {
height: unset; height: unset;
} }
.topic-excerpt {
display: none;
}
}
.full-width .contents .topic-list {
display: unset;
} }
} }

View File

@ -1,12 +1,4 @@
// sidebar // sidebar
@mixin box-shadow($value: 0px) {
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px,
rgba(0, 0, 0, 0) 0px 0px 0px 0px,
rgba(0, 0, 0, 0.1) 0px 1px 3px 0px,
rgba(0, 0, 0, 0.1) 0px 1px 2px -1px;
}
#main-outlet-wrapper { #main-outlet-wrapper {
.sidebar-wrapper { .sidebar-wrapper {
margin: 30px 0 50px; margin: 30px 0 50px;
@ -14,8 +6,13 @@
border-radius: .5rem; border-radius: .5rem;
top: calc(var(--header-offset) + 30px); top: calc(var(--header-offset) + 30px);
height: calc(100vh - (var(--header-offset) + 80px)); height: calc(100vh - (var(--header-offset) + 80px));
@include box-shadow; box-shadow:
0 24px 40px rgba(0, 0, 0, 0.07),
0 10.8529px 24.1177px rgba(0, 0, 0, 0.0456112),
0 4.50776px 10.0172px rgba(0, 0, 0, 0.035),
0 1.63037px 3.62304px rgba(0, 0, 0, 0.0243888);
} }
.sidebar-footer-wrapper { .sidebar-footer-wrapper {
background: var(--secondary); background: var(--secondary);
} }
@ -25,6 +22,7 @@ body.has-sidebar-page {
#main-outlet-wrapper { #main-outlet-wrapper {
padding-left: 8px; padding-left: 8px;
} }
#main-outlet { #main-outlet {
max-width: unset; max-width: unset;
} }

3
stylelint.config.mjs Normal file
View File

@ -0,0 +1,3 @@
export default {
extends: ["@discourse/lint-configs/stylelint"],
};

2036
yarn.lock

File diff suppressed because it is too large Load Diff