Greasy Fork is available in English.

atcoder-userscript-libs

AtCoderのページ上で動作するスクリプト用のライブラリです。

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.greatest.deepsurf.us/scripts/386712/816981/atcoder-userscript-libs.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

Advertisement:

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

Advertisement:

作者
keymoon
版本
0.0.1.20200616134938
建立日期
2019-06-23
更新日期
2020-06-16
尺寸
24.0 KB
授權條款
未知

概要

AtCoder上で動くUserScriptを補助するライブラリです。

ソースについて

このライブラリは複数ファイルを1つにまとめたものです。ソースの詳細はGitHubを参照してください。一行目以外同一のものをビルド可能なソースコードを公開しています。(一行目はグローバルへエクスポートするために改変を行っています。)

使い方

まず、UserScriptのHeaderに以下のような行を追加してください。

// @require https://greatest.deepsurf.us/scripts/386712-atcoder-userscript-libs/code/atcoder-userscript-libs.js?version=715082

素のJavaScriptで開発する場合

ツールなどを用いずにこのライブラリを使用する場合は、グローバルに存在しているusLibsオブジェクトの中に格納されているライブラリ内にあるオブジェクトやクラスを用いることになります。 例えば、以下のようなコードを実行するとalertでdiverta2019-2のコンテスト情報を表示します。

var contestInformation = await usLibs.contestInformation.fetchContestInformation("diverta2019-2");
alert(JSON.stringify(contestInformation));

モジュールバンドラを用いる場合

WebPack等のモジュールバンドラを用いる場合は、公開しているパッケージをプロジェクトにインストールすることをお勧めします。 インストールした後、webpack.config.jsでexternalの記述を以下のようにしてください。:

externals: {
    "atcoder-userscript-libs": "usLibs",
    "atcoder-userscript-libs/src/libs/data": "usLibs.data",
    "atcoder-userscript-libs/src/libs/rating": "usLibs.rating",
    "atcoder-userscript-libs/src/libs/global": "usLibs.global",
    "atcoder-userscript-libs/src/libs/contestInformation": "usLibs.contestInformation"
}

そうすることで依存関係の中にuserscript-libsを取り込め、

import { fetchContestInformation } from "atcoder-userscript-libs/src/libs/contestInformation";
var contestInformation = await fetchContestInformation("diverta2019-2");
alert(JSON.stringify(contestInformation));

と書けるようになります。