meta: various changes
Summary: Submitting three changes at once for lazyness: meta: config cleanups Add editorconfig, gitignore, and conform to them. RobotsTxt: add differential rule and conform to the editorconfig time.php: add metadata, editorconfig conformance Signed-off-by: Yongmin Hong <revi@omglol.email> Test Plan: `code .` and edit files. for php files, deploy. Reviewers: #acl_sudoers, #blessed_reviewers, revi Reviewed By: #acl_sudoers, #blessed_reviewers, revi Differential Revision: https://issuetracker.revi.xyz/D8
This commit is contained in:
parent
d2f7806542
commit
0e1656da0c
6 changed files with 223 additions and 101 deletions
32
.editorconfig
Normal file
32
.editorconfig
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# EditorConfig is awesome: https://EditorConfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = tab
|
||||||
|
indent_style = tab
|
||||||
|
insert_final_newline = true
|
||||||
|
tab_width = 4
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# Tabs may not be valid YAML
|
||||||
|
# @see https://yaml.org/spec/1.2/spec.html#id2777534
|
||||||
|
[*.{yml,yaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
# yaml-lint configuration
|
||||||
|
# YAML files should be indented with spaces, which .yamllint is
|
||||||
|
[.yamllint]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[.git/**]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
78
.gitignore
vendored
Normal file
78
.gitignore
vendored
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/linux,macos,windows
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,windows
|
||||||
|
|
||||||
|
### Linux ###
|
||||||
|
*~
|
||||||
|
|
||||||
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||||
|
.fuse_hidden*
|
||||||
|
|
||||||
|
# KDE directory preferences
|
||||||
|
.directory
|
||||||
|
|
||||||
|
# Linux trash folder which might appear on any partition or disk
|
||||||
|
.Trash-*
|
||||||
|
|
||||||
|
# .nfs files are created when an open file is removed but is still being accessed
|
||||||
|
.nfs*
|
||||||
|
|
||||||
|
### macOS ###
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
### macOS Patch ###
|
||||||
|
# iCloud generated files
|
||||||
|
*.icloud
|
||||||
|
|
||||||
|
### Windows ###
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
# Dump file
|
||||||
|
*.stackdump
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/linux,macos,windows
|
|
@ -1,3 +1,3 @@
|
||||||
# [Don’t be an asshole, and don’t be tolerant of assholes.](https://asshole.fyi/)
|
# [Don’t be an asshole, and don’t be tolerant of assholes.](https://asshole.fyi/)
|
||||||
|
|
||||||
That simple.
|
That simple.
|
||||||
|
|
|
@ -2,104 +2,111 @@
|
||||||
|
|
||||||
abstract class PhabricatorRobotsController extends PhabricatorController {
|
abstract class PhabricatorRobotsController extends PhabricatorController {
|
||||||
|
|
||||||
public function shouldRequireLogin() {
|
public function shouldRequireLogin() {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setClientIDCookie() {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function processRequest() {
|
public function processRequest() {
|
||||||
$out = array();
|
$out = array();
|
||||||
|
|
||||||
$out[] = '# Forked from phabricator.wikimedia.org, we.phorge.it';
|
$out[] = '# Adapted from phabricator.wikimedia.org, we.phorge.it';
|
||||||
// Version timestamp is when I started editing them.
|
// Version timestamp is when I started editing them.
|
||||||
// Edit setLastModified at the bottom as well.
|
// Edit setLastModified at the bottom as well.
|
||||||
// Calculate EpochTime via go/ZoneStamp
|
// Calculate EpochTime via go/ZoneStamp
|
||||||
$out[] = '# version: 20240430T032700+0900';
|
$out[] = '# version: 20240502T184200+0900';
|
||||||
$out[] = '# also at https://github.com/revi/sandbox.git';
|
$out[] = '# also at https://github.com/revi/sandbox.git';
|
||||||
$out[] = 'User-Agent: *';
|
$out[] = 'User-Agent: *';
|
||||||
$out[] = 'Disallow: /diffusion/';
|
$out[] = 'Disallow: /diffusion/';
|
||||||
$out[] = 'Disallow: /source/';
|
$out[] = 'Disallow: /source/';
|
||||||
$out[] = 'Disallow: /multimeter/';
|
$out[] = 'Disallow: /multimeter/';
|
||||||
$out[] = 'Disallow: /policy/explain';
|
$out[] = 'Disallow: /policy/explain';
|
||||||
$out[] = 'Disallow: /auth';
|
$out[] = 'Disallow: /auth';
|
||||||
$out[] = 'Disallow: /login';
|
$out[] = 'Disallow: /login';
|
||||||
$out[] = 'Disallow: /maniphest/transaction';
|
$out[] = 'Disallow: /maniphest/transaction';
|
||||||
$out[] = 'Disallow: /tag';
|
$out[] = 'Disallow: /tag';
|
||||||
$out[] = 'Disallow: /search/query/all';
|
$out[] = 'Disallow: /search/query/all';
|
||||||
$out[] = 'Disallow: /conduit';
|
$out[] = 'Disallow: /conduit';
|
||||||
$out[] = 'Disallow: /api';
|
$out[] = 'Disallow: /api';
|
||||||
$out[] = 'Disallow: /project';
|
$out[] = 'Disallow: /project';
|
||||||
$out[] = 'Disallow: /applications';
|
$out[] = 'Disallow: /applications';
|
||||||
$out[] = 'Disallow: /token';
|
$out[] = 'Disallow: /token';
|
||||||
$out[] = 'Disallow: /pholio';
|
$out[] = 'Disallow: /pholio';
|
||||||
$out[] = 'Disallow: /dashboard';
|
$out[] = 'Disallow: /dashboard';
|
||||||
$out[] = 'Disallow: /calendar';
|
$out[] = 'Disallow: /calendar';
|
||||||
$out[] = 'Disallow: /herald';
|
$out[] = 'Disallow: /herald';
|
||||||
// This is commits.
|
// This is commits.
|
||||||
$out[] = 'Disallow: /r*';
|
$out[] = 'Disallow: /r*';
|
||||||
// This is Files. (F$)
|
// This is differential reviews
|
||||||
$out[] = 'Disallow: /file';
|
$out[] = 'Disallow: /differential';
|
||||||
$out[] = 'Disallow: /F*%24*';
|
$out[] = 'Disallow: /D*%24*';
|
||||||
// This is pastes (P$)
|
// This is Files. (F$)
|
||||||
$out[] = 'Disallow: /paste';
|
$out[] = 'Disallow: /file';
|
||||||
$out[] = 'Disallow: /P*%24*';
|
$out[] = 'Disallow: /F*%24*';
|
||||||
// This is blog entries (J$)
|
// This is pastes (P$)
|
||||||
$out[] = 'Disallow: /phame';
|
$out[] = 'Disallow: /paste';
|
||||||
$out[] = 'Disallow: /J*%24*';
|
$out[] = 'Disallow: /P*%24*';
|
||||||
// This is user list.
|
// This is blog entries (J$)
|
||||||
// As of 2024-04-17 user list is behind auth but who knows it might change?
|
$out[] = 'Disallow: /phame';
|
||||||
$out[] = 'Disallow: /people';
|
$out[] = 'Disallow: /J*%24*';
|
||||||
// This is user profile link.
|
// This is user list.
|
||||||
$out[] = 'Disallow: /p/';
|
// As of 2024-04-17 user list is behind auth but who knows it might change?
|
||||||
// Phorge specific entries end here.
|
$out[] = 'Disallow: /people';
|
||||||
$out[] = '# This is cloudflare endpoint';
|
// This is user profile link.
|
||||||
$out[] = '# Ref: https://developers.cloudflare.com/fundamentals/reference/cdn-cgi-endpoint/';
|
$out[] = 'Disallow: /p/';
|
||||||
$out[] = 'Disallow: /cdn-cgi/';
|
// Phorge specific entries end here.
|
||||||
$out[] = '# Google Ads are not welcome';
|
$out[] = '# This is cloudflare endpoint';
|
||||||
$out[] = 'User-agent: Mediapartners-Google';
|
$out[] = '# Ref: https://developers.cloudflare.com/fundamentals/reference/cdn-cgi-endpoint/';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = 'Disallow: /cdn-cgi/';
|
||||||
$out[] = 'User-agent: AdsBot-Google';
|
$out[] = '# Google Ads are not welcome';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = 'User-agent: Mediapartners-Google';
|
||||||
$out[] = 'User-agent: AdsBot-Google-Mobile';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = 'User-agent: AdsBot-Google';
|
||||||
// While I sometimes (borderline 'rare') use LLMs (GPT, Gemini, …), I'd rather prefer LLMs not use my stuff to profit
|
$out[] = 'Disallow: /';
|
||||||
// Well I think my stuff is mostly out of interest for them, tho…
|
$out[] = 'User-agent: AdsBot-Google-Mobile';
|
||||||
$out[] = '# ChatGPT Crawlers are not welcome';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = '# Ref: https://platform.openai.com/docs/plugins/bot';
|
// While I sometimes (borderline 'rare') use LLMs (GPT, Gemini, …), I'd rather prefer LLMs not use my stuff to profit
|
||||||
$out[] = 'User-agent: ChatGPT-User';
|
// Well I think my stuff is mostly out of interest for them, tho…
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# ChatGPT Crawlers are not welcome';
|
||||||
$out[] = 'User-agent: GPTBot';
|
$out[] = '# Ref: https://platform.openai.com/docs/plugins/bot';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = 'User-agent: ChatGPT-User';
|
||||||
$out[] = '# Google Gemini AI Crawlers are also not welcome';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = '# Ref: https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers?hl=en#google-extended';
|
$out[] = 'User-agent: GPTBot';
|
||||||
$out[] = 'User-agent: Google-Extended';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# Google Gemini AI Crawlers are also not welcome';
|
||||||
$out[] = '# CCBot (ab)used to train LLMs';
|
$out[] = '# Ref: https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers?hl=en#google-extended';
|
||||||
$out[] = '# Ref: https://darkvisitors.com/agents/ccbot';
|
$out[] = 'User-agent: Google-Extended';
|
||||||
$out[] = 'User-agent: CCBot';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# CCBot (ab)used to train LLMs';
|
||||||
$out[] = '# Facebook LLM Bot';
|
$out[] = '# Ref: https://darkvisitors.com/agents/ccbot';
|
||||||
$out[] = '# Ref: https://developers.facebook.com/docs/sharing/bot/';
|
$out[] = 'User-agent: CCBot';
|
||||||
$out[] = 'User-agent: FacebookBot';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# Facebook LLM Bot';
|
||||||
$out[] = '# DiffBot, though this one is known to have option to ignore robotstxt';
|
$out[] = '# Ref: https://developers.facebook.com/docs/sharing/bot/';
|
||||||
$out[] = '# Ref https://docs.diffbot.com/docs/why-is-my-crawl-not-crawling-and-other-uncommon-crawl-problems';
|
$out[] = 'User-agent: FacebookBot';
|
||||||
$out[] = 'User-agent: Diffbot';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# DiffBot, though this one is known to have option to ignore robotstxt';
|
||||||
$out[] = '# Bytespider';
|
$out[] = '# Ref https://docs.diffbot.com/docs/why-is-my-crawl-not-crawling-and-other-uncommon-crawl-problems';
|
||||||
$out[] = '# Ref: https://darkvisitors.com/agents/bytespider';
|
$out[] = 'User-agent: Diffbot';
|
||||||
$out[] = 'User-agent: Bytespider';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Disallow: /';
|
$out[] = '# Bytespider';
|
||||||
// Crawl-delay entries at the bottom
|
$out[] = '# Ref: https://darkvisitors.com/agents/bytespider';
|
||||||
// Ref: https://github.com/otwcode/otwarchive/pull/4411#discussion_r1044351129
|
$out[] = 'User-agent: Bytespider';
|
||||||
$out[] = 'User-agent: *';
|
$out[] = 'Disallow: /';
|
||||||
$out[] = 'Crawl-delay: 1';
|
// Crawl-delay entries at the bottom
|
||||||
|
// Ref: https://github.com/otwcode/otwarchive/pull/4411#discussion_r1044351129
|
||||||
|
$out[] = 'User-agent: *';
|
||||||
|
$out[] = 'Crawl-delay: 1';
|
||||||
|
|
||||||
$content = implode("\n", $out)."\n";
|
$content = implode("\n", $out)."\n";
|
||||||
|
|
||||||
return id(new AphrontPlainTextResponse())
|
return id(new AphrontPlainTextResponse())
|
||||||
->setContent($content)
|
->setContent($content)
|
||||||
->setCacheDurationInSeconds(phutil_units('2 hours in seconds'))
|
->setCacheDurationInSeconds(phutil_units('2 hours in seconds'))
|
||||||
->setCanCDN(true)
|
->setCanCDN(true)
|
||||||
->setLastModified(1714415220);
|
->setLastModified(1714642920);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
# sandbox
|
# sandbox
|
||||||
|
|
||||||
For things slightly more important than gist of pastebin, but not really worth their own repo lands here.
|
For things slightly more important than gist of pastebin, but not really worth their own repo lands here.
|
||||||
|
|
19
time.php
19
time.php
|
@ -1,9 +1,13 @@
|
||||||
<html>
|
<html lang="en" prefix="og: https://ogp.me/ns#">
|
||||||
<head>
|
<head>
|
||||||
<title>
|
<title>
|
||||||
Hey revi, what time is it for you?
|
Hey revi, what time is it for you?
|
||||||
</title>
|
</title>
|
||||||
<link rel="icon" href="https://r2.revicdn.net/pfp2.png">
|
<link rel="icon" href="https://r2.revicdn.net/pfp2.png">
|
||||||
|
<meta property="og:title" content="Hey revi, what time is it for you?" />
|
||||||
|
<meta property="og:description" content="A simple page that shows current date and time for revi." />
|
||||||
|
<meta property="og:image" content="https://r2.revicdn.net/pfp2.png" />
|
||||||
|
<meta property="og:url" content="https://k.revi.xyz/time.php" />
|
||||||
<style>
|
<style>
|
||||||
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans+KR:wght@300;400&family=Noto+Sans+KR&display=swap');
|
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=IBM+Plex+Sans+KR:wght@300;400&family=Noto+Sans+KR&display=swap');
|
||||||
|
|
||||||
|
@ -13,6 +17,8 @@
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
|
overflow-wrap: break-all;
|
||||||
|
word-break: keep-all;
|
||||||
font-family:
|
font-family:
|
||||||
'IBM Plex Sans KR',
|
'IBM Plex Sans KR',
|
||||||
'Noto Sans KR',
|
'Noto Sans KR',
|
||||||
|
@ -26,10 +32,10 @@
|
||||||
'Segoe UI Emoji';
|
'Segoe UI Emoji';
|
||||||
}
|
}
|
||||||
.code {
|
.code {
|
||||||
font-family:
|
font-family:
|
||||||
'IBM Plex Mono',
|
'IBM Plex Mono',
|
||||||
'Courier New',
|
'Courier New',
|
||||||
monospace;
|
monospace;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
@ -56,8 +62,7 @@
|
||||||
echo "<p>It is {$date} {$time} in <code>Asia/Seoul</code>, where <a rel='me' href='https://revi.xyz'>revi</a> lives.<br />Check in your timezone: <a href='{$zonestampLink}'>ZoneStamp</a>.</p>";
|
echo "<p>It is {$date} {$time} in <code>Asia/Seoul</code>, where <a rel='me' href='https://revi.xyz'>revi</a> lives.<br />Check in your timezone: <a href='{$zonestampLink}'>ZoneStamp</a>.</p>";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<br />
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><a href='https://github.com/revi/sandbox/blob/master/time.php'>Source code @ GitHub</a>. (Warning: it is far from 'clean'.) Also, please note that there is <a href='https://xkcd.com/1179/'>only one correct way to write dates</a>.</p>
|
<p><a href='https://github.com/revi/sandbox/blob/master/time.php'>Source code @ GitHub</a>. (Warning: it is far from 'clean'.) Also, please note that there is <a href='https://xkcd.com/1179/'>only one correct way to write dates</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue