1
0

docs: change branding Pawkey (#1)

- Change string instances from Sharkey to Pawkey
- Change logos and art to Pawkey
- Change repository URL where possible to our git repo
- Puppy > Shonks
- Change repo in compose_example.yml

Co-Authored-By: Bluey Heeler <bluey@pawkey.dev>
This commit is contained in:
Leafus
2025-05-15 13:51:08 +00:00
committed by Bluey Heeler
parent a2bc6603c2
commit 06ff35a89f
82 changed files with 1261 additions and 535 deletions
+13 -15
View File
@@ -32,26 +32,24 @@ const themeColor = chalk.hex('#86b300');
function greet() {
if (!envOption.quiet) {
//#region Misskey logo
console.log(themeColor(' _____ _ _ '));
console.log(themeColor('/ ___| | | | '));
console.log(themeColor('\\ `--.| |__ __ _ _ __| | _____ _ _ '));
console.log(themeColor(' `--. \\ \'_ \\ / _` | \'__| |/ / _ \\ | | |'));
console.log(themeColor('/\\__/ / | | | (_| | | | < __/ |_| |'));
console.log(themeColor('\\____/|_| |_|\\__,_|_| |_|\\_\\___|\\__, |'));
console.log(themeColor(' __/ |'));
console.log(themeColor(' |___/ '));
//#region Pawkey logo
console.log(themeColor(' ____ _ '));
console.log(themeColor('| _ \\ __ ___ _| | _____ _ _ '));
console.log(themeColor('| |_) / _` \\ \\ /\\ / / |/ / _ \\ | | |'));
console.log(themeColor('| __/ (_| |\\ V V /| < __/ |_| |'));
console.log(themeColor('|_| \\__,_| \\_/\\_/ |_|\\_\\___|\\__, |'));
console.log(themeColor(' |___/ '));
//#endregion
console.log(' Sharkey is an open-source decentralized microblogging platform.');
console.log(chalk.rgb(255, 136, 0)(' If you like Sharkey, please donate to support development. https://opencollective.com/sharkey'));
console.log(' Pawkey is an open-source decentralized microblogging platform.');
console.log(chalk.rgb(255, 136, 0)(' If you like Pawkey, please donate to support development. https://leafus.net/donate'));
console.log('');
console.log(chalkTemplate`--- ${os.hostname()} {gray (PID: ${process.pid.toString()})} ---`);
}
bootLogger.info('Welcome to Sharkey!');
bootLogger.info(`Sharkey v${meta.version}`, null, true);
bootLogger.info('Welcome to Pawkey!');
bootLogger.info(`Pawkey v${meta.version}`, null, true);
}
/**
@@ -74,7 +72,7 @@ export async function masterMain() {
process.exit(1);
}
bootLogger.info('Sharkey initialized');
bootLogger.succ('Pawkey initialized');
if (config.sentryForBackend) {
Sentry.init({
@@ -91,7 +89,7 @@ export async function masterMain() {
maxBreadcrumbs: 0,
// Set release version
release: 'Sharkey@' + meta.version,
release: 'Pawkey@' + meta.version,
...config.sentryForBackend.options,
});
+1 -1
View File
@@ -37,7 +37,7 @@ export async function workerMain() {
maxBreadcrumbs: 0,
// Set release version
release: "Sharkey@" + meta.version,
release: "Pawkey@" + meta.version,
...config.sentryForBackend.options,
});
@@ -579,7 +579,7 @@ const extension_context_definition = {
firefish: 'https://joinfirefish.org/ns#',
speakAsCat: 'firefish:speakAsCat',
// Sharkey
sharkey: 'https://joinsharkey.org/ns#',
sharkey: 'https://leafus.net/pawkey',
hideOnlineStatus: 'sharkey:hideOnlineStatus',
backgroundUrl: 'sharkey:backgroundUrl',
listenbrainz: 'sharkey:listenbrainz',
+3 -3
View File
@@ -430,14 +430,14 @@ export class MiMeta {
@Column('varchar', {
length: 1024,
default: 'https://activitypub.software/TransFem-org/Sharkey/',
nullable: true,
default: 'https://git.leafus.net/pawkey/pawkey/',
nullable: false,
})
public repositoryUrl: string | null;
@Column('varchar', {
length: 1024,
default: 'https://activitypub.software/TransFem-org/Sharkey/-/issues/new',
default: 'https://git.leafus.net/pawkey/pawkey/-/issues/new',
nullable: true,
})
public feedbackUrl: string | null;
@@ -46,7 +46,7 @@ function generateModeratorInactivityMail(remainingTime: ModeratorInactivityRemai
'To Moderators,',
'',
`No moderator has been active for a period of time. After further ${timeVariant} of inactivity, the instance will switch to invitation only.`,
'If you do not wish that to happen, please log into Sharkey to update your last active date and time.',
'If you do not wish that to happen, please log into Pawkey to update your last active date and time.',
];
const html = message.join('<br>');
@@ -76,7 +76,7 @@ export class NodeinfoServerService {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const document: any = {
software: {
name: 'sharkey',
name: 'pawkey',
version: this.config.version,
homepage: nodeinfo_homepage,
repository: meta.repositoryUrl,
@@ -9,7 +9,7 @@ import { SponsorsService } from '@/core/SponsorsService.js';
export const meta = {
tags: ['meta'],
description: 'Get Sharkey Sponsors or Instance Sponsors',
description: 'Get Pawkey Sponsors or Instance Sponsors',
requireCredential: false,
requireCredentialPrivateMode: false,
@@ -40,10 +40,10 @@ export class ApiInstanceMastodon {
const instance = data.data;
const response: MastodonEntity.Instance = {
uri: this.config.host,
title: this.meta.name || 'Sharkey',
description: this.meta.description || 'This is a vanilla Sharkey Instance. It doesn\'t seem to have a description.',
title: this.meta.name || 'Pawkey',
description: this.meta.description || 'This is a vanilla Pawkey Instance. It doesn\'t seem to have a description.',
email: instance.email || '',
version: `3.0.0 (compatible; Sharkey ${this.config.version}; like Akkoma)`,
version: `3.0.0 (compatible; Pawkey ${this.config.version}; like Akkoma)`,
urls: instance.urls,
stats: {
user_count: instance.stats.user_count,
@@ -0,0 +1,66 @@
/*
* SPDX-FileCopyrightText: marie and other Pawkey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { Entity } from 'megalodon';
import { FILE_TYPE_BROWSERSAFE } from '@/const.js';
import type { Config } from '@/config.js';
import type { MiMeta } from '@/models/Meta.js';
/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
export async function getInstance(
response: Entity.Instance,
contact: Entity.Account,
config: Config,
meta: MiMeta,
) {
return {
uri: config.url,
title: meta.name || 'Pawkey',
short_description: meta.description || 'This is a vanilla Pawkey Instance. It doesn\'t seem to have a description.',
description: meta.description || 'This is a vanilla Pawkey Instance. It doesn\'t seem to have a description.',
email: response.email || '',
version: `3.0.0 (compatible; Pawkey ${config.version})`,
urls: response.urls,
stats: {
user_count: response.stats.user_count,
status_count: response.stats.status_count,
domain_count: response.stats.domain_count,
},
thumbnail: meta.backgroundImageUrl || '/static-assets/transparent.png',
languages: meta.langs,
registrations: !meta.disableRegistration || response.registrations,
approval_required: meta.approvalRequiredForSignup,
invites_enabled: response.registrations,
configuration: {
accounts: {
max_featured_tags: 20,
},
statuses: {
max_characters: config.maxNoteLength,
max_media_attachments: 16,
characters_reserved_per_url: response.uri.length,
},
media_attachments: {
supported_mime_types: FILE_TYPE_BROWSERSAFE,
image_size_limit: 10485760,
image_matrix_limit: 16777216,
video_size_limit: 41943040,
video_frame_rate_limit: 60,
video_matrix_limit: 2304000,
},
polls: {
max_options: 10,
max_characters_per_option: 150,
min_expiration: 50,
max_expiration: 2629746,
},
reactions: {
max_reactions: 1,
},
},
contact_account: contact,
rules: [],
};
}
@@ -19,7 +19,7 @@ export function genOpenapiSpec(config: Config, includeSelfRef = false) {
externalDocs: {
description: 'Repository',
url: 'https://activitypub.software/TransFem-org/Sharkey',
url: 'https://git.leafus.net/pawkey/pawkey',
},
servers: [{
@@ -97,7 +97,7 @@ export function genOpenapiSpec(config: Config, includeSelfRef = false) {
description: desc,
externalDocs: {
description: 'Source code',
url: `https://activitypub.software/TransFem-org/Sharkey/-/tree/develop/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
url: `https://git.leafus.net/pawkey/pawkey/-/tree/stable/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
},
...(endpoint.meta.tags ? {
tags: [endpoint.meta.tags[0]],
@@ -206,7 +206,7 @@ export class ClientServerService {
@bindThis
private async generateCommonPugData(meta: MiMeta) {
return {
instanceName: meta.name ?? 'Sharkey',
instanceName: meta.name ?? 'Pawkey',
icon: meta.iconUrl,
appleTouchIcon: meta.app512IconUrl,
themeColor: meta.themeColor,
@@ -435,7 +435,7 @@ export class ClientServerService {
// OpenSearch XML
fastify.get('/opensearch.xml', async (request, reply) => {
const name = this.meta.name ?? 'Sharkey';
const name = this.meta.name ?? 'Pawkey';
let content = '';
content += '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">';
content += `<ShortName>${name}</ShortName>`;
@@ -456,7 +456,7 @@ export class ClientServerService {
return await reply.view('base', {
img: this.meta.bannerUrl,
url: this.config.url,
title: this.meta.name ?? 'Sharkey',
title: this.meta.name ?? 'Pawkey',
desc: this.meta.description,
customHead: this.config.customHtml.head,
...await this.generateCommonPugData(this.meta),
@@ -822,7 +822,7 @@ export class ClientServerService {
reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('base-embed', {
title: this.meta.name ?? 'Sharkey',
title: this.meta.name ?? 'Pawkey',
...await this.generateCommonPugData(this.meta),
embedCtx: htmlSafeJsonStringify({
user: _user,
@@ -845,7 +845,7 @@ export class ClientServerService {
reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('base-embed', {
title: this.meta.name ?? 'Sharkey',
title: this.meta.name ?? 'Pawkey',
...await this.generateCommonPugData(this.meta),
embedCtx: htmlSafeJsonStringify({
note: _note,
@@ -866,7 +866,7 @@ export class ClientServerService {
reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('base-embed', {
title: this.meta.name ?? 'Sharkey',
title: this.meta.name ?? 'Pawkey',
...await this.generateCommonPugData(this.meta),
embedCtx: htmlSafeJsonStringify({
clip: _clip,
@@ -879,7 +879,7 @@ export class ClientServerService {
reply.header('Cache-Control', 'public, max-age=3600');
return await reply.view('base-embed', {
title: this.meta.name ?? 'Sharkey',
title: this.meta.name ?? 'Pawkey',
...await this.generateCommonPugData(this.meta),
});
});
@@ -62,7 +62,7 @@ export class FeedService {
id: author.link,
title: `${author.name} (@${user.username}@${this.config.host})`,
updated: notes.length !== 0 ? this.idService.parse(notes[0].id).date : undefined,
generator: 'Sharkey',
generator: 'Pawkey',
description: `${user.notesCount} Notes, ${profile.followingVisibility === 'public' ? user.followingCount : '?'} Following, ${profile.followersVisibility === 'public' ? user.followersCount : '?'} Followers${profile.description ? ` · ${profile.description}` : ''}`,
link: author.link,
image: (user.avatarId == null ? null : user.avatarUrl) ?? this.userEntityService.getIdenticonUrl(user),
@@ -106,18 +106,18 @@
const locale = JSON.parse(localStorage.getItem('locale') || '{}');
const title = locale?._bootErrors?.title || 'Failed to initialize Sharkey';
const title = locale?._bootErrors?.title || 'Failed to initialize Pawkey';
const reload = locale?.reload || 'Reload';
document.body.innerHTML = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /><path d="M12 9v4" /><path d="M12 16v.01" /></svg>
<div class="message">${title}</div>
<div class="submessage">Failed to initialize Sharkey</div>
<div class="message">読み込みに失敗しました</div>
<div class="submessage">Failed to initialize Pawkey</div>
<div class="submessage">Error Code: ${code}</div>
<button onclick="location.reload(!0)">
<div>${reload}</div>
</button>`;
addStyle(`
#sharkey_app,
#pawkey_app,
#splash {
display: none !important;
}
+3 -3
View File
@@ -85,7 +85,7 @@
//#region Theme
const theme = localStorage.getItem('theme');
const themeFontFaceName = 'sharkey-theme-font-face';
const themeFontFaceName = 'pawkey-theme-font-face';
if (theme) {
let existingFontFace;
document.fonts.forEach((v) => { if (v.family === themeFontFaceName) existingFontFace = v;});
@@ -164,7 +164,7 @@
const locale = JSON.parse(localStorage.getItem('locale') || '{}');
const messages = Object.assign({
title: 'Failed to initialize Sharkey',
title: 'Failed to initialize Pawkey',
solution: 'The following actions may solve the problem.',
solution1: 'Update your os and browser',
solution2: 'Disable an adblocker',
@@ -234,7 +234,7 @@
font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif;
}
#sharkey_app,
#pawkey_app,
#splash {
display: none !important;
}
+1 -1
View File
@@ -8,7 +8,7 @@
font-family: BIZ UDGothic, Roboto, HelveticaNeue, Arial, sans-serif;
}
#sharkey_app,
#pawkey_app,
#splash {
display: none !important;
}
+1 -1
View File
@@ -10,7 +10,7 @@
const locale = JSON.parse(localStorage.getItem('locale') || '{}');
const messages = Object.assign({
title: 'Failed to initialize Sharkey',
title: 'Failed to initialize Pawkey',
serverError: 'If reloading after a period of time does not resolve the problem, contact the server administrator with the following ERROR ID.',
solution: 'The following actions may solve the problem.',
solution1: 'Update your os and browser',
@@ -1,6 +1,6 @@
{
"short_name": "Sharkey",
"name": "Sharkey",
"short_name": "Pawkey",
"name": "Pawkey",
"start_url": "/",
"display": "standalone",
"background_color": "#313a42",
@@ -9,11 +9,11 @@ html(class='embed')
head
meta(charset='utf-8')
meta(name='application-name' content='Sharkey')
meta(name='application-name' content='Pawkey')
meta(name='referrer' content='origin')
meta(name='theme-color' content= themeColor || '#86b300')
meta(name='theme-color-orig' content= themeColor || '#86b300')
meta(property='og:site_name' content= instanceName || 'Sharkey')
meta(property='og:site_name' content= instanceName || 'Pawkey')
meta(property='instance_url' content= instanceUrl)
meta(name='viewport' content='width=device-width, initial-scale=1')
meta(name='format-detection' content='telephone=no,date=no,address=no,email=no,url=no')
@@ -32,7 +32,7 @@ html(class='embed')
title
block title
= title || 'Sharkey'
= title || 'Pawkey'
block meta
meta(name='robots' content='noindex')
+13 -17
View File
@@ -8,36 +8,32 @@ doctype html
//
-
_____ _ _
/ ___| | | |
\ `--.| |__ __ _ _ __| | _____ _ _
`--. \ '_ \ / _` | '__| |/ / _ \ | | |
/\__/ / | | | (_| | | | < __/ |_| |
\____/|_| |_|\__,_|_| |_|\_\___|\__, |
__/ |
|___/
Thank you for using Sharkey!
If you are reading this message... how about joining the development?
https://activitypub.software/TransFem-org/Sharkey
____ _
| _ \ __ ___ _| | _____ _ _
| |_) / _` \ \ /\ / / |/ / _ \ | | |
| __/ (_| |\ V V /| < __/ |_| |
|_| \__,_| \_/\_/ |_|\_\___|\__, |
|___/
Thank you for using Pawkey!
If you are reading this message... You like gay femboy furries >:3
html
head
meta(charset='utf-8')
meta(name='application-name' content='Sharkey')
meta(name='application-name' content='Pawkey')
meta(name='referrer' content='origin')
meta(name='theme-color' content= themeColor || '#86b300')
meta(name='theme-color-orig' content= themeColor || '#86b300')
meta(property='og:site_name' content= instanceName || 'Sharkey')
meta(property='og:site_name' content= instanceName || 'Pawkey')
meta(property='instance_url' content= instanceUrl)
meta(name='viewport' content='width=device-width, initial-scale=1')
meta(name='format-detection' content='telephone=no,date=no,address=no,email=no,url=no')
link(rel='icon' href= icon || '/favicon.ico')
link(rel='apple-touch-icon' href= appleTouchIcon || '/apple-touch-icon.png')
link(rel='manifest' href='/manifest.json')
link(rel='search' type='application/opensearchdescription+xml' title=(title || "Sharkey") href=`${baseUrl}/opensearch.xml`)
link(rel='search' type='application/opensearchdescription+xml' title=(title || "Pawkey") href=`${baseUrl}/opensearch.xml`)
link(rel='prefetch' href=serverErrorImageUrl)
link(rel='prefetch' href=infoImageUrl)
link(rel='prefetch' href=notFoundImageUrl)
@@ -56,7 +52,7 @@ html
title
block title
= title || 'Sharkey'
= title || 'Pawkey'
if noindex
meta(name='robots' content='noindex')
@@ -67,7 +63,7 @@ html
block meta
block og
meta(property='og:title' content= title || 'Sharkey')
meta(property='og:title' content= title || 'Pawkey')
meta(property='og:description' content= desc || '✨🌎✨ A interplanetary communication platform ✨🚀✨')
meta(property='og:image' content= img)
meta(property='twitter:card' content='summary')
@@ -4,8 +4,8 @@ html
head
meta(charset='utf-8')
meta(name='application-name' content='Sharkey')
title Sharkey Repair Tool
meta(name='application-name' content='Pawkey')
title Pawkey Repair Tool
style
include ../bios.css
script
@@ -13,7 +13,7 @@ html
body
header
h1 Sharkey Repair Tool #{version}
h1 Pawkey Repair Tool #{version}
main
div.tabs
button#ls edit local storage
@@ -4,8 +4,8 @@ html
head
meta(charset='utf-8')
meta(name='application-name' content='Sharkey')
title Sharkey Cli
meta(name='application-name' content='Pawkey')
title Pawkey Cli
style
include ../cli.css
script
@@ -13,7 +13,7 @@ html
body
header
h1 Sharkey Cli #{version}
h1 Pawkey Cli #{version}
main
div#form
textarea#text
+10 -14
View File
@@ -2,18 +2,14 @@ doctype html
//
-
_____ _ _
/ ___| | | |
\ `--.| |__ __ _ _ __| | _____ _ _
`--. \ '_ \ / _` | '__| |/ / _ \ | | |
/\__/ / | | | (_| | | | < __/ |_| |
\____/|_| |_|\__,_|_| |_|\_\___|\__, |
__/ |
|___/
____ _
| _ \ __ ___ _| | _____ _ _
| |_) / _` \ \ /\ / / |/ / _ \ | | |
| __/ (_| |\ V V /| < __/ |_| |
|_| \__,_| \_/\_/ |_|\_\___|\__, |
|___/
Thank you for using Sharkey!
If you are reading this message... how about joining the development?
https://activitypub.software/TransFem-org/Sharkey
Thank you for using Pawkey!
html
@@ -21,12 +17,12 @@ html
head
meta(charset='utf-8')
meta(name='viewport' content='width=device-width, initial-scale=1')
meta(name='application-name' content='Sharkey')
meta(name='application-name' content='Pawkey')
meta(name='referrer' content='origin')
title
block title
= 'An error has occurred... | Sharkey'
= 'An error has occurred... | Pawkey'
style
include ../error.css
@@ -40,7 +36,7 @@ body
path(d="M12 9v2m0 4v.01")
path(d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75")
h1(data-i18n="title") Failed to initialize Sharkey
h1(data-i18n="title") Failed to initialize Pawkey
button.button-big(onclick="location.reload();")
span.button-label-big(data-i18n-reload) Reload
@@ -4,7 +4,7 @@ html
#msg
script.
const msg = document.getElementById('msg');
const successText = `\nSuccess Flush! <a href="/">Back to Sharkey</a>\n成功しました。<a href="/">Sharkeyを開き直してください。</a>`;
const successText = `\nSuccess Flush! <a href="/">Back to Pawkey</a>\n成功しました。<a href="/">Pawkeyを開き直してください。</a>`;
message('Start flushing.');
@@ -4,7 +4,7 @@ html
head
meta(charset='utf-8')
meta(name='application-name' content='Sharkey')
meta(name='application-name' content='Pawkey')
title= meta.name || host
style.
html, body {