From f5c522d9c122adfdde47e0e633f1498860fff98d Mon Sep 17 00:00:00 2001 From: ubugeeei <71201308+ubugeeei@users.noreply.github.com> Date: Sat, 9 Nov 2024 17:22:25 +0900 Subject: [PATCH] cleanup project (#107) --- .babelrc | 16 - .editorconfig | 12 - .eslintrc.js | 48 - .gitattributes | 1 - .github/CODE_OF_CONDUCT.md | 23 - .github/CONTRIBUTING.md | 150 - .github/assets/esa.png | Bin 15097 -> 0 bytes .github/assets/slack.png | Bin 5390 -> 0 bytes .github/assets/vuejs-jp.png | Bin 6209 -> 0 bytes .github/workflows/main.yml | 42 - .gitignore | 90 - .nvmrc | 1 - .prettierrc | 4 - .stylelintrc | 29 - LICENSE | 21 - README.md | 66 - assets/styles/bootstrap.css | 10 - assets/styles/reboot.css | 275 - assets/styles/utilities/u-container.css | 4 - assets/styles/utilities/u-link.css | 9 - assets/styles/utilities/u-medium.css | 43 - assets/styles/utilities/u-nowrap.css | 3 - assets/styles/utilities/u-relative.css | 3 - assets/styles/utilities/u-section-content.css | 48 - assets/styles/utilities/u-wrapper.css | 15 - assets/styles/variables.css | 62 - components/AboutDescription.vue | 114 - components/AboutHero.vue | 156 - components/AppAlert.vue | 162 - components/AppBackdrop.vue | 35 - components/AppDialog.vue | 68 - components/AppModal.vue | 46 - components/AppPage.vue | 16 - components/ButtonOutline.vue | 88 - components/ChatStack.vue | 61 - components/ChatStackItem.vue | 132 - components/ContactForm.vue | 255 - components/CookieAgreementPopup.vue | 104 - components/HamburgerMenu.vue | 64 - components/HomeAbout.vue | 187 - components/HomeCommunications.vue | 191 - components/HomeEvents.vue | 162 - components/HomeHero.vue | 223 - components/HomeNews.vue | 192 - components/HomeProjects.vue | 223 - components/HomeSponsors.vue | 113 - components/ImageStack.vue | 289 - components/ImageStackItem.vue | 86 - components/InputBase.vue | 42 - components/InputText.vue | 92 - components/InputTextarea.vue | 92 - components/LegalMedium.vue | 77 - components/SocialLinkGroup.vue | 77 - components/StyleMount.vue | 25 - components/TheGlobalFooter.vue | 194 - components/TheGlobalHeader.vue | 153 - components/TheGlobalHeaderNavFlat.vue | 96 - components/TheGlobalHeaderNavScreen.vue | 130 - components/ThePortalModals.vue | 31 - components/icons/IconCheckCircle.vue | 6 - components/icons/IconChevronLeft.vue | 5 - components/icons/IconChevronRight.vue | 5 - components/icons/IconConnpass.vue | 23 - components/icons/IconEdit3.vue | 6 - components/icons/IconGitHub.vue | 12 - components/icons/IconNote.vue | 5 - components/icons/IconPreloaderDark.vue | 232 - components/icons/IconSlack.vue | 20 - components/icons/IconTerminal.vue | 6 - components/icons/IconTwitter.vue | 12 - components/icons/IconVue.vue | 14 - components/icons/IconVuejsJpLogo.vue | 18 - components/icons/IconXCircle.vue | 6 - components/icons/IconYouTube.vue | 12 - content/en/code-of-conduct.md | 17 - content/en/privacy.md | 78 - content/ja/code-of-conduct.md | 17 - content/ja/privacy.md | 78 - data/about_hero_photos.ts | 26 - data/home_event_photos.ts | 26 - jest.config.js | 25 - layouts/default.vue | 44 - locales/en-US.json | 184 - locales/ja-JP.json | 184 - nuxt.config.ts | 81 - package.json | 58 - pages/about/index.vue | 31 - pages/code-of-conduct/index.vue | 35 - pages/contact/index.vue | 281 - pages/index.vue | 47 - pages/privacy/index.vue | 35 - pages/sitemap/index.vue | 125 - plugins/application.js | 9 - plugins/router.js | 5 - plugins/vuelidate.js | 4 - static/apple-touch-icon.jpg | Bin 11349 -> 0 bytes static/favicon-32.png | Bin 1028 -> 0 bytes .../img/about/v-meetup-tokyo-10-reception.jpg | Bin 211423 -> 0 bytes .../img/about/v-meetup-tokyo-10-showtime.jpg | Bin 151692 -> 0 bytes .../about/vue-fes-japan-2018-after-party.jpg | Bin 199366 -> 0 bytes .../img/about/vue-fes-japan-2018-memory.jpg | Bin 188914 -> 0 bytes static/img/about/vue-fes-japan-2018-peace.jpg | Bin 157211 -> 0 bytes static/img/about/vue-fes-japan-2018-talks.jpg | Bin 217927 -> 0 bytes static/img/common/logo-esa.png | Bin 15822 -> 0 bytes static/img/common/logo-slack.png | Bin 28856 -> 0 bytes static/img/home/avatar-001.jpg | Bin 8083 -> 0 bytes static/img/home/avatar-002.jpg | Bin 7142 -> 0 bytes static/img/home/avatar-003.jpg | Bin 10907 -> 0 bytes static/img/home/hold-hands.svg | 1 - static/img/home/japan-map.svg | 1 - static/img/home/tokyo-tower-with-sun.png | Bin 43430 -> 0 bytes .../img/home/vue-fes-japan-2018-evan-you.jpg | Bin 89623 -> 0 bytes .../vue-fes-japan-2018-guillaume-chau.jpg | Bin 102028 -> 0 bytes .../img/home/vue-fes-japan-2018-katashin.jpg | Bin 132861 -> 0 bytes .../home/vue-fes-japan-2018-sarah-drasner.jpg | Bin 100596 -> 0 bytes .../vue-fes-japan-2018-sebastien-chopin.jpg | Bin 120496 -> 0 bytes .../home/vue-fes-japan-2018-yoshiya-oki.jpg | Bin 104133 -> 0 bytes static/img/og/og-default.png | Bin 28087 -> 0 bytes static/safari-pinned-tab.svg | 24 - store/alert/index.ts | 22 - store/backdrop/index.ts | 29 - store/dialog/index.ts | 16 - store/index.ts | 0 store/modal/index.ts | 42 - support/Screen.ts | 29 - support/Time.ts | 22 - support/Url.ts | 12 - support/meta.ts | 32 - test/Url.spec.ts | 12 - tsconfig.json | 41 - types/vue-shim.d.ts | 4 - types/vue.d.ts | 7 - yarn.lock | 12742 ---------------- 133 files changed, 19759 deletions(-) delete mode 100644 .babelrc delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitattributes delete mode 100644 .github/CODE_OF_CONDUCT.md delete mode 100644 .github/CONTRIBUTING.md delete mode 100644 .github/assets/esa.png delete mode 100644 .github/assets/slack.png delete mode 100644 .github/assets/vuejs-jp.png delete mode 100644 .github/workflows/main.yml delete mode 100644 .gitignore delete mode 100644 .nvmrc delete mode 100644 .prettierrc delete mode 100644 .stylelintrc delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 assets/styles/bootstrap.css delete mode 100644 assets/styles/reboot.css delete mode 100644 assets/styles/utilities/u-container.css delete mode 100644 assets/styles/utilities/u-link.css delete mode 100644 assets/styles/utilities/u-medium.css delete mode 100644 assets/styles/utilities/u-nowrap.css delete mode 100644 assets/styles/utilities/u-relative.css delete mode 100644 assets/styles/utilities/u-section-content.css delete mode 100644 assets/styles/utilities/u-wrapper.css delete mode 100644 assets/styles/variables.css delete mode 100644 components/AboutDescription.vue delete mode 100644 components/AboutHero.vue delete mode 100644 components/AppAlert.vue delete mode 100644 components/AppBackdrop.vue delete mode 100644 components/AppDialog.vue delete mode 100644 components/AppModal.vue delete mode 100644 components/AppPage.vue delete mode 100644 components/ButtonOutline.vue delete mode 100644 components/ChatStack.vue delete mode 100644 components/ChatStackItem.vue delete mode 100644 components/ContactForm.vue delete mode 100644 components/CookieAgreementPopup.vue delete mode 100644 components/HamburgerMenu.vue delete mode 100644 components/HomeAbout.vue delete mode 100644 components/HomeCommunications.vue delete mode 100644 components/HomeEvents.vue delete mode 100644 components/HomeHero.vue delete mode 100644 components/HomeNews.vue delete mode 100644 components/HomeProjects.vue delete mode 100644 components/HomeSponsors.vue delete mode 100644 components/ImageStack.vue delete mode 100644 components/ImageStackItem.vue delete mode 100644 components/InputBase.vue delete mode 100644 components/InputText.vue delete mode 100644 components/InputTextarea.vue delete mode 100644 components/LegalMedium.vue delete mode 100644 components/SocialLinkGroup.vue delete mode 100644 components/StyleMount.vue delete mode 100644 components/TheGlobalFooter.vue delete mode 100644 components/TheGlobalHeader.vue delete mode 100644 components/TheGlobalHeaderNavFlat.vue delete mode 100644 components/TheGlobalHeaderNavScreen.vue delete mode 100644 components/ThePortalModals.vue delete mode 100644 components/icons/IconCheckCircle.vue delete mode 100644 components/icons/IconChevronLeft.vue delete mode 100644 components/icons/IconChevronRight.vue delete mode 100644 components/icons/IconConnpass.vue delete mode 100644 components/icons/IconEdit3.vue delete mode 100644 components/icons/IconGitHub.vue delete mode 100644 components/icons/IconNote.vue delete mode 100644 components/icons/IconPreloaderDark.vue delete mode 100644 components/icons/IconSlack.vue delete mode 100644 components/icons/IconTerminal.vue delete mode 100644 components/icons/IconTwitter.vue delete mode 100644 components/icons/IconVue.vue delete mode 100644 components/icons/IconVuejsJpLogo.vue delete mode 100644 components/icons/IconXCircle.vue delete mode 100644 components/icons/IconYouTube.vue delete mode 100644 content/en/code-of-conduct.md delete mode 100644 content/en/privacy.md delete mode 100644 content/ja/code-of-conduct.md delete mode 100644 content/ja/privacy.md delete mode 100644 data/about_hero_photos.ts delete mode 100644 data/home_event_photos.ts delete mode 100644 jest.config.js delete mode 100644 layouts/default.vue delete mode 100644 locales/en-US.json delete mode 100644 locales/ja-JP.json delete mode 100644 nuxt.config.ts delete mode 100644 package.json delete mode 100644 pages/about/index.vue delete mode 100644 pages/code-of-conduct/index.vue delete mode 100644 pages/contact/index.vue delete mode 100644 pages/index.vue delete mode 100644 pages/privacy/index.vue delete mode 100644 pages/sitemap/index.vue delete mode 100644 plugins/application.js delete mode 100644 plugins/router.js delete mode 100644 plugins/vuelidate.js delete mode 100644 static/apple-touch-icon.jpg delete mode 100644 static/favicon-32.png delete mode 100644 static/img/about/v-meetup-tokyo-10-reception.jpg delete mode 100644 static/img/about/v-meetup-tokyo-10-showtime.jpg delete mode 100644 static/img/about/vue-fes-japan-2018-after-party.jpg delete mode 100644 static/img/about/vue-fes-japan-2018-memory.jpg delete mode 100644 static/img/about/vue-fes-japan-2018-peace.jpg delete mode 100644 static/img/about/vue-fes-japan-2018-talks.jpg delete mode 100644 static/img/common/logo-esa.png delete mode 100644 static/img/common/logo-slack.png delete mode 100644 static/img/home/avatar-001.jpg delete mode 100644 static/img/home/avatar-002.jpg delete mode 100644 static/img/home/avatar-003.jpg delete mode 100644 static/img/home/hold-hands.svg delete mode 100644 static/img/home/japan-map.svg delete mode 100644 static/img/home/tokyo-tower-with-sun.png delete mode 100644 static/img/home/vue-fes-japan-2018-evan-you.jpg delete mode 100644 static/img/home/vue-fes-japan-2018-guillaume-chau.jpg delete mode 100644 static/img/home/vue-fes-japan-2018-katashin.jpg delete mode 100644 static/img/home/vue-fes-japan-2018-sarah-drasner.jpg delete mode 100644 static/img/home/vue-fes-japan-2018-sebastien-chopin.jpg delete mode 100644 static/img/home/vue-fes-japan-2018-yoshiya-oki.jpg delete mode 100644 static/img/og/og-default.png delete mode 100644 static/safari-pinned-tab.svg delete mode 100644 store/alert/index.ts delete mode 100644 store/backdrop/index.ts delete mode 100644 store/dialog/index.ts delete mode 100644 store/index.ts delete mode 100644 store/modal/index.ts delete mode 100644 support/Screen.ts delete mode 100644 support/Time.ts delete mode 100644 support/Url.ts delete mode 100644 support/meta.ts delete mode 100644 test/Url.spec.ts delete mode 100644 tsconfig.json delete mode 100644 types/vue-shim.d.ts delete mode 100644 types/vue.d.ts delete mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 84c2e57..0000000 --- a/.babelrc +++ /dev/null @@ -1,16 +0,0 @@ -{ - "env": { - "test": { - "presets": [ - [ - "@babel/preset-env", - { - "targets": { - "node": "current" - } - } - ] - ] - } - } -} diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 4a7ea30..0000000 --- a/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 35ca399..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,48 +0,0 @@ -module.exports = { - root: true, - env: { - browser: true, - node: true - }, - extends: [ - '@nuxtjs/eslint-config-typescript', - 'plugin:nuxt/recommended', - 'plugin:@intlify/vue-i18n/recommended', - 'prettier' - ], - plugins: [ - ], - settings: { - 'vue-i18n': { - localeDir: './locales/*.{json,json5,yaml,yml}', - messageSyntaxVersion: '^8.25.0' - } - }, - overrides: [ - { - files: ['*.json', '*.json5'], - extends: ['plugin:@intlify/vue-i18n/recommended'], - }, - { - files: ['*.yaml', '*.yml'], - extends: ['plugin:@intlify/vue-i18n/recommended'], - }, - ], - // add your custom rules here - rules: { - '@intlify/vue-i18n/no-raw-text': [ - 'warn', - { - ignoreNodes: ['style'] - } - ], - '@intlify/vue-i18n/no-duplicate-keys-in-locale': 'warn', - '@intlify/vue-i18n/no-missing-keys-in-other-locales': 'warn', - '@intlify/vue-i18n/no-unused-keys': [ - 'warn', - { - extensions: ['.js', '.ts', '.vue'] - } - ] - } -} diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 176a458..0000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index 9268885..0000000 --- a/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,23 +0,0 @@ -# 行動規範 - -## 簡易版 - -Vue.js 日本ユーザーグループでは、性別、性別の表現、性的指向、障害の有無、外見、身体の大きさ、人種、民族、宗教、技術選択にかかわりなく、すべての参加者がハラスメント行為なくミートアップなどのイベント、Slack などのコミュニティに参加できる環境の提供に最善を尽くします。 - -Vue.js 日本ユーザーグループは参加者によるハラスメント行為を一切容認しません。性的な言葉や画像は会話、ワークショップ、懇親会、パーティ、Twitter などのオンラインメディアやソーシャル・ネットワーク・サービスなどにおける発言などイベントやコミュニティに関連するあらゆる場面、場所に不適切であり、これらの規則に違反している参加者は Vue.js 日本ユーザーグループの判断により Vue.js コミュニティ内での行動を制限、または 参加費の払い戻しなく退席をしていただく場合があります。 - -## 詳細版 - -ハラスメント行為には、性別、性同一性、性別の表現、性的指向による差別、障害の有無による差別、外見、身体の大きさによる差別、人種、民族、宗教による差別、技術選択による差別、公共空間での性的な映像表現、意図的な脅迫、ストーカー行為、つきまとい、写真撮影や録音などによる嫌がらせ、トークやその他のイベントなどに対して繰り返して意図的に中断させる行為、不適切な身体接触、そして望まれない性的な注意を引きつける行為を含みます。 - -参加者は、これらのハラスメント行為を止めるように求められた場合、すみやかに従わなければなりません。 - -スポンサーもまた、ハラスメント防止ポリシーの対象です。特に、スポンサーは性的な関心を引き起こすような映像表現、活動、資料、あるいはその他の物品を使用すべきではありません。ボランティアを含め、ブースのスタッフは、性的な関心を引き起こすような服装 / 制服 / コスチュームを使用すべきではありませんし、その他の手段で性的な関心を引き起こす様な環境を作るべきではありません。 - -参加者がハラスメント行為を行っている場合、Vue.js 日本ユーザーグループは当該行為を行っている者に対して我々が適切と判断した範囲で、警告や参加費の払い戻しなく退席していただくなどの措置を講じることがあります。 - -もしあなたがハラスメント行為を受けている場合や、誰かがハラスメント行為を受けていることに気づいた場合、またはその懸念がある場合は、すぐに Vue.js 日本ユーザーグループに連絡してください。 - -Vue.js 日本ユーザーグループは、ハラスメント行為を受けた人に安全な環境を守るためにホテル・会場の警備や警察に連絡すること、付き添い人の提供、およびその他のあらゆる支援を行います。私達にとってあなたの参加が何もよりも大切なことであり、常に私たちはハラスメント行為を受けた人の味方でありつづけます。 - -私たちは、すべての参加者が会場やワークショップ、Vue.js 日本ユーザーグループが企画・運営するソーシャルイベントにて、これらのルールに従うことを期待しています。 diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index 1caf8d3..0000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,150 +0,0 @@ -# コントリビューションガイド - -Vue.js 日本ユーザーグループのウェブサイト開発に興味を持っていただき、ありがとうございます。実際に開発に参加いただく前に、以下のガイドラインをご確認ください。 - -## Issue レポート - -公式ウェブサイトのバグ報告、新規コンテンツの要望やご提案など、[当リポジトリのIssue](https://github.com/vuejs-jp/home/issues)をご活用ください。 - -## Pull Request - -全ての新規実装・修正は、個別のブランチを切って作業してください。原則、PRは`master`ブランチを対象としてください。 - -## 環境セットアップ - -当ウェブサイトは [Nuxt.js](https://nuxtjs.org/) で開発されています。ローカル環境で開発を行うには、以下のステップを踏んでください。 - -```bash -# 依存パッケージのインストール。 -$ yarn install - -# 開発用ウェブサーバの起動。 -$ yarn dev -``` - -このあと、http://localhost:3000 にアクセスできます。 - -### NPM スクリプト - -以下のコマンドが用意されています。 - -```bash -# 開発用ウェブサーバを起動。 -$ yarn dev - -# eslint、stylelintの実行。 -$ yarn lint - -# Jestによるユニットテストの実行。 -$ yarn test -``` - -## コーディングガイドライン - -コーディングにあたり以下のガイドラインに則って開発を行ってください。原則として、本プロジェクトでは可能な限りスタンダードに沿った形での実装を行います。例えば CSS においては SASS などのフレームワークではなく PostCSS を採用し、可能な限り純粋な CSS を用います。 - -なお、効率や可読性のために必要最低限のライブラリ、例えば PostCSS のプラグインなどを採用することも可能です。ただし、どのようなライブラリを使用する場合においても、単に便利になるということ以上に、本当に必要かどうか検討し、コミュニティメンバーと相談してください。 - -### TypeScript & Vue - -[Vue.js のスタイルガイド](https://jp.vuejs.org/v2/style-guide/index.html)に従ってコーディングしてください。 - -### CSS - -本プロジェクトでは、PostCSS を用いて CSS を記述しています。また、以下の PostCSS プラグインを用いています。 - -- [postcss-custom-properties](https://github.com/postcss/postcss-custom-properties) -- [postcss-nested](https://github.com/postcss/postcss-nested) - -なお、Nuxt.js により、デフォルトで Autoprefixer、Import などのプラグインもインストールされています。 - -#### 変数の利用 - -CSS Variablesを用いて、重要な定義について変数を定義しています。各種ブラウザへの対応のため、変数はRootレベルで定義してください。また、名前の衝突を避けるため、変数の分類に合わせたプリフィックスを用います。 - -```postcss -:root { - /** - * Colors - * ---------------------------------------------------------------- */ - - --c-black: #000000; - --c-white: #ffffff; - --c-danger: #ed3c50; - - /** - * Z Indexes - * ---------------------------------------------------------------- */ - - --z-index-header: 1000; - --z-index-backdrop: 2000; - --z-index-modal: 3000; -} -``` - -#### グローバル CSS - -共通のスタイルについてはグローバルに定義できます。SFC 内の Class との名前衝突を避けるため、グローバル Class は必ず `u-` プリフィックスを付与してください。コーディングルールとして [BEM](http://getbem.com/)を用い、1ファイル、1モジュールで記述してください。 - -```postcss -/* File name: u-card.css */ - -.u-card { - border-radius: 8px; - background-color: var(--c-white); - - &__header { - padding: 24px; - } -} -``` - -#### SFC での CSS - -SFCでは `scoped` CSSを使用してください。また、以下のルールを厳守してください。 - -- トップレベルのクラス名はコンポーネント名に沿った CapitalCase を使用してください。 - - これは親・子のコンポーネントでの不意な衝突を避けるためです。例えば `container` などありふれた名前を利用すると、思わぬところで衝突する可能性があります。 -- グローバル CSS と異なり、BEM スタイルは必要ありません。ただし、トップレベル以外のクラス名は全て小文字、ハイフンつなぎとしてください。 - -```vue - - - -``` diff --git a/.github/assets/esa.png b/.github/assets/esa.png deleted file mode 100644 index 7deb2059a5749cd3f0458e4a31427c2fbee5f6cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15097 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 kt{G#Or7VdI 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 inDGC5@L}~1B>i195efWakWy&{Z5$o~L4R(|mS diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 83b936b..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Test - -on: [push] - -jobs: - lint: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x] - - steps: - - uses: actions/checkout@v1 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: npm install and lint - run: | - yarn install - yarn lint:fail - - test: - needs: [lint] - - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [12.x] - - steps: - - uses: actions/checkout@v1 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - name: npm install and test - run: | - yarn install - yarn test diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e8f682b..0000000 --- a/.gitignore +++ /dev/null @@ -1,90 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### Node template -# Logs -/logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# next.js build output -.next - -# nuxt.js build output -.nuxt - -# Nuxt generate -dist - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless - -# IDE / Editor -.idea - -# Service worker -sw.* - -# macOS -.DS_Store - -# Vim swap files -*.swp diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index cab13a7..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v14.17.0 diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index b2095be..0000000 --- a/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "semi": false, - "singleQuote": true -} diff --git a/.stylelintrc b/.stylelintrc deleted file mode 100644 index 2c76f6e..0000000 --- a/.stylelintrc +++ /dev/null @@ -1,29 +0,0 @@ -{ - "extends": "stylelint-config-recess-order", - "rules": { - "at-rule-no-vendor-prefix": true, - "color-hex-case": "lower", - "declaration-block-trailing-semicolon": "always", - "declaration-colon-space-after": "always", - "declaration-colon-space-before": "never", - "font-family-name-quotes": "always-where-required", - "function-url-quotes": "always", - "indentation": 2, - "media-feature-colon-space-after": "always", - "media-feature-colon-space-before": "never", - "media-feature-name-no-vendor-prefix": true, - "media-feature-range-operator-space-after": "always", - "media-feature-range-operator-space-before": "always", - "media-feature-parentheses-space-inside": "never", - "number-leading-zero": "always", - "selector-attribute-operator-space-after": "never", - "selector-attribute-operator-space-before": "never", - "selector-attribute-brackets-space-inside": "never", - "selector-attribute-quotes": "always", - "selector-combinator-space-after": "always", - "selector-no-vendor-prefix": true, - "selector-pseudo-class-parentheses-space-inside": "never", - "string-quotes": "single", - "value-no-vendor-prefix": true - } -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 6ac7e50..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2020 Vue.js Japan User Group - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 497c5e5..0000000 --- a/README.md +++ /dev/null @@ -1,66 +0,0 @@ -

- Vue.js Japan User Group -

- -

Vue.js 日本ユーザーグループ

- -

- - GitHub Actions - - - License - -

- -Vue.js 日本ユーザーグループへようこそ。私たちは、年に一度の大規模カンファレンス **“Vue Fes Japan”** の運営や、**Vue.js 公式ドキュメントの日本語翻訳**をはじめ、日本における Vue.js の普及と、Vue.js エコシステムへの貢献を行っている**日本最大の Vue.js コミュニティ**です。 - -Vue.js 日本ユーザグループは、 - -- 日本における Vue.js の普及 -- 日本語による Vue.js に関する情報の共有、およびディスカッション -- Vue.js への貢献 - -を目的としています。 - -Vue.js に興味のある方でしたらどなたでもお気軽にご参加ください。 - -## コミュニケーション - -- [Vue.js オフィシャルフォーラム](http://forum.vuejs.org) -- [Vue.js 日本ユーザーグループ 公式 Slack](https://join.slack.com/t/vuejs-jp/shared_invite/zt-vmg3iysl-~CPGAxFMWwa0Fnu2IqtMdQ) -- [Vue.js 日本ユーザーグループ 公式 Twitter](https://twitter.com/vuefes) -- [Vue.js 日本ユーザーグループ 公式 note](https://note.com/vuejs_jp) - -## 活動 - -- [Vue.js 公式ドキュメント 日本語翻訳プロジェクト](https://github.com/vuejs-jp/ja.vuejs.org) -- [Nuxt.js 公式ドキュメント 日本語翻訳プロジェクト](https://github.com/vuejs-jp/ja.nuxtjs.org/wiki) -- [Vue.js Meetup イベント](http://vuejs-meetup.connpass.com) - -## ツールスポンサー - - - - - - - - -
- - esa - - - - Slack - -
- -## 行動規範 - -Vue.js 日本ユーザーグループが掲げる[行動規範](https://github.com/vuejs-jp/home/blob/master/.github/CODE_OF_CONDUCT.md)をご確認ください。 - -## ウェブサイト開発への参加 - -Vue.js 日本ユーザーグループの公式ウェブサイトは、コミュニティの支援によって成り立っています。誰でも自由に開発に参加することができます。公式ウェブサイトの環境セットアップや開発の進め方については[コントリビューションガイド](https://github.com/vuejs-jp/home/blob/master/.github/CONTRIBUTING.md)をご確認ください。 diff --git a/assets/styles/bootstrap.css b/assets/styles/bootstrap.css deleted file mode 100644 index f43685a..0000000 --- a/assets/styles/bootstrap.css +++ /dev/null @@ -1,10 +0,0 @@ -@import './variables'; -@import './reboot'; - -@import './utilities/u-container'; -@import './utilities/u-link'; -@import './utilities/u-medium'; -@import './utilities/u-nowrap'; -@import './utilities/u-relative'; -@import './utilities/u-section-content'; -@import './utilities/u-wrapper'; diff --git a/assets/styles/reboot.css b/assets/styles/reboot.css deleted file mode 100644 index e072d15..0000000 --- a/assets/styles/reboot.css +++ /dev/null @@ -1,275 +0,0 @@ -html { - box-sizing: border-box; - font-size: 16px; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -ms-overflow-style: scrollbar; -} - -*, -*::before, -*::after { - box-sizing: inherit; -} - -body { - width: 100%; - min-width: 320px; - min-height: 100vh; - margin: 0; - overflow: hidden; - overflow-y: scroll; - font-family: var(--font-family-base); - font-size: 16px; - font-weight: 500; - line-height: 24px; - color: var(--c-black); - letter-spacing: 0.4px; - background-color: var(--c-white); - direction: ltr; - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/** - * Suppress the focus outline on elements that cannot be accessed via keyboard. - * This prevents an unwanted focus outline from appearing around elements that - * might still respond to pointer events. - * - * Credit: https://github.com/suitcss/base - */ -[tabindex='-1']:focus { - outline: none !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0; - font-size: 16px; - font-weight: 500; -} - -p { - margin: 0; -} - - -abbr[title], -abbr[data-original-title] { - cursor: help; - border-bottom: 1px dotted #999; -} - -address { - margin: 0; -} - -ol, -ul, -dl { - margin: 0; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin: 0; -} - -ul { - padding-left: 0; - list-style: none; -} - -dd { - margin: 0; -} - -blockquote { - margin: 0; -} - -a { - color: inherit; - text-decoration: none; - - &:hover, - &:focus { - color: inherit; - text-decoration: none; - } - - &:focus { - outline: none; - } -} - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; - - &:hover, - &:focus { - color: inherit; - text-decoration: none; - } - - &:focus { - outline: none; - } -} - - -pre { - margin: 0; - overflow: auto; -} - -figure { - margin: 0; -} - -img { - max-width: 100%; - vertical-align: middle; -} - -svg { - display: block; -} - -[role='button'] { - cursor: pointer; -} - -/** - * Avoid 300ms click delay on touch devices that support the `touch-action` - * CSS property. - * - * In particular, unlike most other browsers, IE11+Edge on Windows 10 on - * touch devices and IE Mobile 10-11 DON'T remove the click delay when - * `` is present. - * However, they DO support removing the click delay via - * `touch-action: manipulation`. - * - * See: - * http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch - * http://caniuse.com/#feat=css-touch-action - * http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay - */ -a, -area, -button, -[role='button'], -input, -label, -select, -summary, -textarea { - touch-action: manipulation; -} - -table { - border-collapse: collapse; - background-color: transparent; -} - -caption { - padding-top: 0; - padding-bottom: 0; - text-align: left; - caption-side: bottom; -} - -th { - text-align: left; -} - -label { - display: inline-block; - margin: 0; -} - -button { - padding: 0; - font-family: inherit; - font-size: inherit; - font-weight: inherit; - cursor: pointer; - background-color: transparent; - border: 0; -} - -button:focus { - outline: none; -} - -input, -button, -select, -textarea { - margin: 0; - line-height: inherit; - border-radius: 0; -} - -input, -textarea { - font-family: var(--font-family-base); - font-weight: 500; - background-color: transparent; - border: 0; - -webkit-appearance: none; -} - -input[type='radio'], -input[type='checkbox'] { - &:disabled { - cursor: not-allowed; - } -} - -input[type='date'], -input[type='time'], -input[type='datetime-local'], -input[type='month'] { - -webkit-appearance: listbox; -} - -input:focus, -textarea:focus, -select:focus { - outline: none; -} - -textarea { - resize: vertical; -} - -input[type='search'] { - -webkit-appearance: textfield; -} - -input[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -select { - cursor: pointer; - background-color: transparent; - -webkit-appearance: none; -} - -output { - display: inline-block; -} - -[hidden] { - display: none !important; -} diff --git a/assets/styles/utilities/u-container.css b/assets/styles/utilities/u-container.css deleted file mode 100644 index 7e8acf2..0000000 --- a/assets/styles/utilities/u-container.css +++ /dev/null @@ -1,4 +0,0 @@ -.u-container { - max-width: 960px; - margin: 0 auto; -} diff --git a/assets/styles/utilities/u-link.css b/assets/styles/utilities/u-link.css deleted file mode 100644 index e53f511..0000000 --- a/assets/styles/utilities/u-link.css +++ /dev/null @@ -1,9 +0,0 @@ -.u-link-text { - text-decoration: underline; - transition: color 0.25s; - - &:hover { - color: var(--c-gray); - text-decoration: underline; - } -} diff --git a/assets/styles/utilities/u-medium.css b/assets/styles/utilities/u-medium.css deleted file mode 100644 index 3d4fe37..0000000 --- a/assets/styles/utilities/u-medium.css +++ /dev/null @@ -1,43 +0,0 @@ -.u-medium { - p { - margin: 28px 0; - font-size: 16px; - line-height: 28px; - } - - h2 { - margin: 56px 0 28px; - font-size: 24px; - font-weight: 700; - line-height: 28px; - } - - ol { - padding-left: 22px; - margin: 28px 0; - } - - li { - line-height: 28px; - } - - li + li { - padding-top: 8px; - } - - li > ol { - padding-top: 8px; - margin: 0; - } - - a { - color: var(--c-vue-green); - text-decoration: none; - transition: color 0.25s; - - &:hover { - color: var(--c-vue-green-light); - text-decoration: none; - } - } -} diff --git a/assets/styles/utilities/u-nowrap.css b/assets/styles/utilities/u-nowrap.css deleted file mode 100644 index 4591a24..0000000 --- a/assets/styles/utilities/u-nowrap.css +++ /dev/null @@ -1,3 +0,0 @@ -.u-nowrap { - white-space: nowrap; -} diff --git a/assets/styles/utilities/u-relative.css b/assets/styles/utilities/u-relative.css deleted file mode 100644 index aa9b7b2..0000000 --- a/assets/styles/utilities/u-relative.css +++ /dev/null @@ -1,3 +0,0 @@ -.u-relative { - position: relative; -} diff --git a/assets/styles/utilities/u-section-content.css b/assets/styles/utilities/u-section-content.css deleted file mode 100644 index 2320c27..0000000 --- a/assets/styles/utilities/u-section-content.css +++ /dev/null @@ -1,48 +0,0 @@ -.u-section-content__heading { - font-family: var(--font-family-en); - font-size: 20px; - font-weight: 700; - color: var(--c-vue-green); - letter-spacing: 1px; -} - -.u-section-content__title { - padding-top: 8px; - font-size: 24px; - font-weight: 700; - line-height: 36px; - letter-spacing: 0; - - br { display: none; } - - @media (min-width: 768px) { - font-size: 32px; - line-height: 44px; - letter-spacing: -1px; - } - - @media (min-width: 1056px) { - br { display: block; } - } -} - -.u-section-content__body { - padding-top: 28px; - line-height: 28px; -} - -.u-section-content__actions { - display: flex; - flex-wrap: wrap; - padding-top: 40px; - margin: -8px; -} - -.u-section-content__action { - width: 256px; - padding: 8px; - - @media (min-width: 1056px) { - width: 50%; - } -} diff --git a/assets/styles/utilities/u-wrapper.css b/assets/styles/utilities/u-wrapper.css deleted file mode 100644 index 5ed14dd..0000000 --- a/assets/styles/utilities/u-wrapper.css +++ /dev/null @@ -1,15 +0,0 @@ -.u-wrapper { - padding-right: 24px; - padding-left: 24px; - overflow: hidden; - - @media (min-width: 375px) { - padding-right: 32px; - padding-left: 32px; - } - - @media (min-width: 768px) { - padding-right: 48px; - padding-left: 48px; - } -} diff --git a/assets/styles/variables.css b/assets/styles/variables.css deleted file mode 100644 index 7106a39..0000000 --- a/assets/styles/variables.css +++ /dev/null @@ -1,62 +0,0 @@ -:root { - - /** - * Colors - * --------------------------------------------------------------------- */ - - --c-black: #273849; - --c-black-pure: #000000; - - --c-white: #ffffff; - --c-white-soft: #fafafa; - --c-white-mute: #f2f2f2; - - --c-gray: #7e8a98; - --c-gray-light: #b3becb; - --c-gray-lighter: #cbd4e0; - - --c-divider: #eaeaea; - - --c-vue-green: #41b883; - --c-vue-green-light: #42e59d; - --c-vue-green-lighter: #88feca; - --c-vue-green-dark: #2a8f62; - --c-vue-green-darker: #125638; - - --c-danger: #ef295d; - - /** - * Typography - * --------------------------------------------------------------------- */ - - --font-family-base: 'Roboto', 'Noto Sans JP', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-ja: 'Roboto', 'Noto Sans JP', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-en: 'Source Sans Pro', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-dosis: 'Dosis', 'Source Sans Pro', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif'; - --font-family-mono: 'Iconsolata', 'monospace', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'Roboto', 'Helvetica Neue'; - - /** - * Z Indexes - * --------------------------------------------------------------------- */ - - --z-index-header: 1000; - --z-index-backdrop: 2000; - --z-index-modal: 3000; - - /** - * Shadows - * --------------------------------------------------------------------- */ - - --shadow-depth-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); - --shadow-depth-2: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - --shadow-depth-3: 0 12px 32px rgba(0, 0, 0, 0.10), 0 2px 6px rgba(0, 0, 0, 0.08); - --shadow-depth-4: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); - --shadow-depth-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16); - - /** - * Easings - * --------------------------------------------------------------------- */ - - --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1); - -} diff --git a/components/AboutDescription.vue b/components/AboutDescription.vue deleted file mode 100644 index dcd8a37..0000000 --- a/components/AboutDescription.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - diff --git a/components/AboutHero.vue b/components/AboutHero.vue deleted file mode 100644 index b992ea8..0000000 --- a/components/AboutHero.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - - - diff --git a/components/AppAlert.vue b/components/AppAlert.vue deleted file mode 100644 index c5d3163..0000000 --- a/components/AppAlert.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - diff --git a/components/AppBackdrop.vue b/components/AppBackdrop.vue deleted file mode 100644 index de95b43..0000000 --- a/components/AppBackdrop.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - diff --git a/components/AppDialog.vue b/components/AppDialog.vue deleted file mode 100644 index 84f2a3d..0000000 --- a/components/AppDialog.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/components/AppModal.vue b/components/AppModal.vue deleted file mode 100644 index ce94df3..0000000 --- a/components/AppModal.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - - - diff --git a/components/AppPage.vue b/components/AppPage.vue deleted file mode 100644 index 596d973..0000000 --- a/components/AppPage.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/components/ButtonOutline.vue b/components/ButtonOutline.vue deleted file mode 100644 index ad23e29..0000000 --- a/components/ButtonOutline.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - - diff --git a/components/ChatStack.vue b/components/ChatStack.vue deleted file mode 100644 index 7df9b33..0000000 --- a/components/ChatStack.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/components/ChatStackItem.vue b/components/ChatStackItem.vue deleted file mode 100644 index e67802e..0000000 --- a/components/ChatStackItem.vue +++ /dev/null @@ -1,132 +0,0 @@ - - - - - diff --git a/components/ContactForm.vue b/components/ContactForm.vue deleted file mode 100644 index e2e0928..0000000 --- a/components/ContactForm.vue +++ /dev/null @@ -1,255 +0,0 @@ - - - - - diff --git a/components/CookieAgreementPopup.vue b/components/CookieAgreementPopup.vue deleted file mode 100644 index a668af8..0000000 --- a/components/CookieAgreementPopup.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - - - diff --git a/components/HamburgerMenu.vue b/components/HamburgerMenu.vue deleted file mode 100644 index ed6baa7..0000000 --- a/components/HamburgerMenu.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - - - diff --git a/components/HomeAbout.vue b/components/HomeAbout.vue deleted file mode 100644 index 0a80f91..0000000 --- a/components/HomeAbout.vue +++ /dev/null @@ -1,187 +0,0 @@ - - - - - diff --git a/components/HomeCommunications.vue b/components/HomeCommunications.vue deleted file mode 100644 index bb6cd9c..0000000 --- a/components/HomeCommunications.vue +++ /dev/null @@ -1,191 +0,0 @@ - - - - - diff --git a/components/HomeEvents.vue b/components/HomeEvents.vue deleted file mode 100644 index e717ce4..0000000 --- a/components/HomeEvents.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - diff --git a/components/HomeHero.vue b/components/HomeHero.vue deleted file mode 100644 index 8c0ceda..0000000 --- a/components/HomeHero.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - - - diff --git a/components/HomeNews.vue b/components/HomeNews.vue deleted file mode 100644 index 4a97cb0..0000000 --- a/components/HomeNews.vue +++ /dev/null @@ -1,192 +0,0 @@ - - - - - diff --git a/components/HomeProjects.vue b/components/HomeProjects.vue deleted file mode 100644 index 71bae98..0000000 --- a/components/HomeProjects.vue +++ /dev/null @@ -1,223 +0,0 @@ - - - - - diff --git a/components/HomeSponsors.vue b/components/HomeSponsors.vue deleted file mode 100644 index 0984f31..0000000 --- a/components/HomeSponsors.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - diff --git a/components/ImageStack.vue b/components/ImageStack.vue deleted file mode 100644 index f522624..0000000 --- a/components/ImageStack.vue +++ /dev/null @@ -1,289 +0,0 @@ - - - - - diff --git a/components/ImageStackItem.vue b/components/ImageStackItem.vue deleted file mode 100644 index 0a114c2..0000000 --- a/components/ImageStackItem.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/components/InputBase.vue b/components/InputBase.vue deleted file mode 100644 index 21baca9..0000000 --- a/components/InputBase.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - diff --git a/components/InputText.vue b/components/InputText.vue deleted file mode 100644 index d7433a2..0000000 --- a/components/InputText.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - - - diff --git a/components/InputTextarea.vue b/components/InputTextarea.vue deleted file mode 100644 index d61a328..0000000 --- a/components/InputTextarea.vue +++ /dev/null @@ -1,92 +0,0 @@ -