1
0
mirror of https://github.com/byulmaru/quesdon synced 2024-11-30 15:58:01 +09:00

Merge pull request #2 from liberaldev/master

og graph 추가와 마스토돈 프로필 주소를 포함한 link rel="me" 주소 추가 + @
This commit is contained in:
robin* 2023-08-03 23:46:58 +09:00 committed by GitHub
commit 2314c73e88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 36 additions and 7592 deletions

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
dist/
node_modules/
.env
.env
yarn-error.log
npm-debug.log

View File

@ -3,7 +3,7 @@ import { Link } from 'react-router-dom';
import { Button } from 'reactstrap';
import { APIQuestion, APIUser } from '../../../../api-interfaces';
import { apiFetch } from '../../../api-fetch';
import josa from '../../../josa';
import josa from '../../../../common/josa';
import { Title } from '../../common/title';
import { Loading } from '../../loading';
import { Question } from '../../question';

View File

@ -10,6 +10,7 @@ import rndstr from 'rndstr';
import apiRouter from './api';
import { GIT_COMMIT, PORT, SECRET_KEY } from './config';
import { User } from './db/index';
import josa from '../common/josa';
const app = new Koa();
@ -26,7 +27,8 @@ router.use('/api', apiRouter.routes());
router.get('/*', async (ctx: Koa.ParameterizedContext) =>
{
let user;
let user, profile;
const path = ctx.request.path.toString();
if (ctx.session.user)
{
user = await User.findById(ctx.session.user);
@ -34,11 +36,19 @@ router.get('/*', async (ctx: Koa.ParameterizedContext) =>
user = new Buffer(user, 'binary').toString('base64');
}
if (!ctx.session.csrfToken)
{
ctx.session.csrfToken = rndstr();
}
if (path.match(/@/g)?.length as number === 2)
{
profile = await User.findOne({acctLower: path.substring(2).toLowerCase()});
}
return ctx.render('index',
{
GIT_COMMIT,
user,
profile,
josa,
csrfToken: ctx.session.csrfToken
});
});

View File

@ -8,12 +8,30 @@ html
script window.USER=undefined
script window.CSRF_TOKEN="#{csrfToken}"
script window.GIT_VERSION="#{GIT_COMMIT}"
- const siteName = "Quesdon@Planet"
if profile
- const title = `${profile.name}님의 ${profile.questionBoxName || '질문함'}`
- const description = profile.description || `${josa(title, '이에요', '예요')}`
meta(name="twitter:card", content="summary")
meta(property="og:site_name", content=siteName)
meta(property="og:title", content=title)
meta(name="description", content=description)
meta(property="og:description", content=description)
meta(property="og:image" content=profile.avatarUrl)
link(rel="me",href=profile.url)
else
- const description = "Mastodon에서 사용할 수 있는 askfm스러운 무언가"
meta(property="og:site_name", content=siteName)
meta(property="og:title", content=siteName)
meta(name="description", content=description)
meta(property="og:description", content=description)
script(src="https://cdn.polyfill.io/v2/polyfill.js?features=fetch")
script(src="/assets/bundle.js?version="+GIT_COMMIT)
body
#root
p ...어? 혹시 페이지가 나오지 않나요??
p 불편을 끼쳐 드려 죄송해요. 새로고침을 해 보시고, 만약 그래도 이 화면만 계속 뜬다면 아래 동작 환경을 충족하는지 확인 후 Mastodon @planet@planet.moe 에 문의해 주세요.
p 불편을 끼쳐 드려 죄송해요. <noscript>현재 사용하시는 브라우저는 자바스크립트 기능이 비활성화 되어 있거나 자바스크립트를 지원하지 않는 브라우저에요.</p><p>자바스크립트를 지원하지 않는 브라우저를 사용하시는 경우 자바스크립트를 지원하는 브라우저로 전환하시고, 현재 사용하시는 브라우저가 자바스크립트를 지원한다면 자바스크립트 기능을 활성화 하신 다음 </noscript>새로고침을 해 보시고, 만약 그래도 이 화면만 계속 뜬다면 아래 동작 환경을 충족하는지 확인 후 Mastodon @planet@planet.moe 에 문의해 주세요.
h2 동작 환경
ul
li iOS
@ -21,4 +39,5 @@ html
| &nbsp;10 이상 (추천: iOS 11.2.2 이상)
li Chrome 63 이상
li Firefox 57 이상
p Edge, Internet Explorer는 지원 대상이 아니라서 오류가 발생할 수 있어요. Firefox나 Google Chrome을 추천드려요.
p Edge, Internet Explorer는 지원 대상이 아니라서 오류가 발생할 수 있어요. Firefox나 Google Chrome을 추천드려요.
p Quesdon은 클라이언트 단에서 렌더링을 하기에 자바스크립트를 지원하지 않는 브라우저에서는 사용할 수 없어요.

File diff suppressed because it is too large Load Diff