misc changes #44
|
@ -1,6 +1,5 @@
|
||||||
[production]
|
[production]
|
||||||
defaults
|
defaults
|
||||||
not IE 11
|
|
||||||
not dead
|
not dead
|
||||||
|
|
||||||
[development]
|
[development]
|
||||||
|
|
|
@ -19,3 +19,4 @@ postgres14
|
||||||
redis
|
redis
|
||||||
elasticsearch
|
elasticsearch
|
||||||
chart
|
chart
|
||||||
|
data
|
||||||
|
|
|
@ -293,23 +293,28 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@mixin focusable {
|
||||||
|
outline: 0;
|
||||||
|
background: lighten($ui-base-color, 4%);
|
||||||
|
|
||||||
|
&.status.status-direct {
|
||||||
|
background: lighten($ui-base-color, 12%);
|
||||||
|
|
||||||
|
&.muted {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detailed-status,
|
||||||
|
.detailed-status__action-bar {
|
||||||
|
background: lighten($ui-base-color, 8%);
|
||||||
|
}
|
||||||
|
}
|
||||||
.focusable {
|
.focusable {
|
||||||
&:focus {
|
&:focus,
|
||||||
outline: 0;
|
&:hover {
|
||||||
background: lighten($ui-base-color, 4%);
|
@include focusable;
|
||||||
|
|
||||||
&.status.status-direct {
|
|
||||||
background: lighten($ui-base-color, 12%);
|
|
||||||
|
|
||||||
&.muted {
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.detailed-status,
|
|
||||||
.detailed-status__action-bar {
|
|
||||||
background: lighten($ui-base-color, 8%);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,8 +79,6 @@ class LinkFooter extends React.PureComponent {
|
||||||
{' '}
|
{' '}
|
||||||
<a href='https://joinmastodon.org' target='_blank'><FormattedMessage id='footer.about' defaultMessage='About' /></a>
|
<a href='https://joinmastodon.org' target='_blank'><FormattedMessage id='footer.about' defaultMessage='About' /></a>
|
||||||
{' · '}
|
{' · '}
|
||||||
<a href='https://joinmastodon.org/apps' target='_blank'><FormattedMessage id='footer.get_app' defaultMessage='Get the app' /></a>
|
|
||||||
{' · '}
|
|
||||||
<Link to='/keyboard-shortcuts'><FormattedMessage id='footer.keyboard_shortcuts' defaultMessage='Keyboard shortcuts' /></Link>
|
<Link to='/keyboard-shortcuts'><FormattedMessage id='footer.keyboard_shortcuts' defaultMessage='Keyboard shortcuts' /></Link>
|
||||||
{' · '}
|
{' · '}
|
||||||
<a href={source_url} rel='noopener noreferrer' target='_blank'><FormattedMessage id='footer.source_code' defaultMessage='View source code' /></a>
|
<a href={source_url} rel='noopener noreferrer' target='_blank'><FormattedMessage id='footer.source_code' defaultMessage='View source code' /></a>
|
||||||
|
|
|
@ -33,11 +33,11 @@ module Mastodon
|
||||||
end
|
end
|
||||||
|
|
||||||
def repository
|
def repository
|
||||||
ENV.fetch('GITHUB_REPOSITORY', 'glitch-soc/mastodon')
|
ENV.fetch('GIT_REPOSITORY', false) || ENV.fetch('GITHUB_REPOSITORY', false) || 'treehouse/mastodon'
|
||||||
end
|
end
|
||||||
|
|
||||||
def source_base_url
|
def source_base_url
|
||||||
ENV.fetch('SOURCE_BASE_URL', "https://github.com/#{repository}")
|
ENV.fetch('SOURCE_BASE_URL', "https://gitea.treehouse.systems/#{repository}")
|
||||||
end
|
end
|
||||||
|
|
||||||
# specify git tag or commit hash here
|
# specify git tag or commit hash here
|
||||||
|
@ -46,8 +46,13 @@ module Mastodon
|
||||||
end
|
end
|
||||||
|
|
||||||
def source_url
|
def source_url
|
||||||
if source_tag
|
if source_tag && source_base_url =~ /gitea/
|
||||||
"#{source_base_url}/tree/#{source_tag}"
|
suffix = if !str[/\H/]
|
||||||
|
"commit/#{source_tag}"
|
||||||
|
else
|
||||||
|
"branch/#{source_tag}"
|
||||||
|
end
|
||||||
|
"#{source_base_url}/#{suffix}"
|
||||||
else
|
else
|
||||||
source_base_url
|
source_base_url
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'pathname'
|
||||||
|
|
||||||
|
DATA_DIR = Pathname.new('data')
|
||||||
|
POSTGRES_DIR = DATA_DIR / 'postgres'
|
||||||
|
POSTGRES_CONF_FILE = POSTGRES_DIR / 'postgresql.conf'
|
||||||
|
POSTGRES_SOCKET_FILE = POSTGRES_DIR / '.s.PGSQL.5432'
|
||||||
|
POSTGRES_PID_FILE = POSTGRES_DIR / 'postmaster.pid'
|
||||||
|
REDIS_DIR = DATA_DIR / 'redis'
|
||||||
|
REDIS_PID_FILE = REDIS_DIR / 'redis-dev.pid'
|
||||||
|
|
||||||
|
def divider
|
||||||
|
puts '=========='
|
||||||
|
end
|
||||||
|
|
||||||
|
def get_pid(pid_file)
|
||||||
|
return false unless File.file?(pid_file)
|
||||||
|
pid = File.read(pid_file).to_i
|
||||||
|
|
||||||
|
Process.kill(0, pid)
|
||||||
|
pid
|
||||||
|
rescue Errno::ESRCH
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
|
||||||
|
def postgres_running?
|
||||||
|
get_pid POSTGRES_PID_FILE
|
||||||
|
end
|
||||||
|
|
||||||
|
directory REDIS_DIR.to_s
|
||||||
|
|
||||||
|
namespace :deps do
|
||||||
|
task start: ['postgres:start', 'redis:start']
|
||||||
|
task stop: ['postgres:stop', 'redis:stop']
|
||||||
|
|
||||||
|
namespace :postgres do
|
||||||
|
namespace :setup do
|
||||||
|
task all: [POSTGRES_DIR.to_s]
|
||||||
|
|
||||||
|
file POSTGRES_DIR.to_s do
|
||||||
|
if POSTGRES_CONF_FILE.exist?
|
||||||
|
puts 'Postgres conf exists, skipping initdb'
|
||||||
|
next
|
||||||
|
end
|
||||||
|
sh %(printf '%s\\n' pg_ctl -D data/postgres initdb -o '-U mastodon --auth-host=trust')
|
||||||
|
end
|
||||||
|
|
||||||
|
task configure: [POSTGRES_DIR.to_s] do
|
||||||
|
next if File.foreach(POSTGRES_CONF_FILE).detect? { |line| line == /^unix_socket_directories = \.\s*$/ }
|
||||||
|
|
||||||
|
POSTGRES_CONF_FILE.open('at') do |f|
|
||||||
|
f.write("\n", PG_SOCKET_DIRECTORIES_LINE, "\n")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
task start: ['setup:all'] do
|
||||||
|
if (pid = get_pid POSTGRES_PID_FILE)
|
||||||
|
puts "Postgres is running (pid #{pid})!"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
puts 'Starting postgres...'
|
||||||
|
divider
|
||||||
|
sh %(pg_ctl -D ./data/postgres start)
|
||||||
|
divider
|
||||||
|
end
|
||||||
|
|
||||||
|
task :stop do
|
||||||
|
unless (pid = get_pid POSTGRES_PID_FILE)
|
||||||
|
puts "Postgres isn't running!"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "Stopping Postgres (pid #{pid})..."
|
||||||
|
sh %(pg_ctl -D ./data/postgres stop)
|
||||||
|
divider
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
namespace :redis do
|
||||||
|
task init: [REDIS_DIR.to_s] do
|
||||||
|
end
|
||||||
|
|
||||||
|
task start: [:init] do
|
||||||
|
if (pid = get_pid REDIS_PID_FILE)
|
||||||
|
puts "Redis is running (pid #{pid})!"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
puts 'Starting redis...'
|
||||||
|
divider
|
||||||
|
sh %(redis-server redis-dev.conf)
|
||||||
|
divider
|
||||||
|
end
|
||||||
|
|
||||||
|
task :stop do
|
||||||
|
unless (pid = get_pid REDIS_PID_FILE)
|
||||||
|
puts "Redis isn't running!"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
puts "Stopping Redis (pid #{pid})..."
|
||||||
|
divider
|
||||||
|
Process.kill(:TERM, pid)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -87,8 +87,8 @@ describe InstancePresenter do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#source_url' do
|
describe '#source_url' do
|
||||||
it 'returns "https://github.com/glitch-soc/mastodon"' do
|
it 'returns the default URL' do
|
||||||
expect(instance_presenter.source_url).to eq('https://github.com/glitch-soc/mastodon')
|
expect(instance_presenter.source_url).to eq('https://gitea.treehouse.systems/treehouse/mastodon')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue