Skip to content
This repository has been archived by the owner on May 12, 2024. It is now read-only.

Commit

Permalink
feat: copy code from codedang
Browse files Browse the repository at this point in the history
  • Loading branch information
dotoleeoak committed Mar 5, 2024
0 parents commit 50f62b3
Show file tree
Hide file tree
Showing 169 changed files with 16,053 additions and 0 deletions.
46 changes: 46 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/* eslint-disable @typescript-eslint/naming-convention */
module.exports = {
env: {
browser: true,
'vue/setup-compiler-macros': true
},
parser: 'vue-eslint-parser',
parserOptions: {
ecmaVersion: 'latest',
parser: '@typescript-eslint/parser',
sourceType: 'module'
},
extends: ['plugin:vue/vue3-recommended', 'plugin:prettier/recommended'],
rules: {
'vue/component-api-style': ['error', ['script-setup']],
'vue/component-name-in-template-casing': [
'error',
'PascalCase',
{ ignores: ['/^n-/'] }
],
'vue/define-props-declaration': 'error',
'vue/html-self-closing': ['error', { html: { void: 'always' } }], // compatibility with prettier
'vue/no-empty-component-block': 'error',
'vue/no-undef-components': [
'error',
{
ignorePatterns: [
'Transition',
'TransitionGroup',
'KeepAlive',
'Teleport',
'Suspense',
'Story',
'Variant',
'RouterView',
'RouterLink'
]
}
],
'vue/padding-line-between-blocks': 'warn',
'vue/prefer-true-attribute-shorthand': 'warn',
'vue/require-emit-validator': 'error',
'vue/multi-word-component-names': 'off',
'vue/custom-event-name-casing': ['error', 'camelCase']
}
}
155 changes: 155 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Created by https://www.toptal.com/developers/gitignore/api/node,vue
# Edit at https://www.toptal.com/developers/gitignore?templates=node,vue

### Node ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# 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
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://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/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

### Node Patch ###
# Serverless Webpack directories
.webpack/

# Optional stylelint cache

# SvelteKit build / generate output
.svelte-kit

### Vue ###
# gitignore template for Vue.js projects
#
# Recommended template: Node.gitignore

# TODO: where does this rule come from?
docs/_book

# TODO: where does this rule come from?
test/

# End of https://www.toptal.com/developers/gitignore/api/node,vue
5 changes: 5 additions & 0 deletions env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/// <reference types="vite/client" />
/// <reference types="@histoire/plugin-vue/components" />
/// <reference types="unplugin-icons/types/vue" />
/// <reference types="vite-plugin-pages/client" />
/// <reference types="vite-plugin-vue-layouts/client" />
11 changes: 11 additions & 0 deletions histoire.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { HstVue } from '@histoire/plugin-vue'
import { defineConfig } from 'histoire'

export default defineConfig({
plugins: [HstVue()],
setupFile: '/src/histoire.setup.ts',
theme: {
title: 'SKKUding Histoire'
},
viteIgnorePlugins: ['vite-plugin-checker']
})
35 changes: 35 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Codedang 코드당</title>
<meta name="description" content="Codedang, Online Judge for SKKU" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Codedang 코드당" />
<meta property="og:url" content="https://codedang.com/" />
<meta property="og:image" content="/open-graph.png" />
<meta property="og:description" content="Codedang, Online Judge for SKKU" />
<meta name="theme-color" content="#3581FA" />
<meta
name="naver-site-verification"
content="a4accbf91ec0f3a371f28513d9156604ae2dff3f"
/>
<link rel="icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=JetBrains+Mono&family=Manrope:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;700&display=swap"
rel="stylesheet"
/>
</head>

<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
79 changes: 79 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"name": "frontend",
"private": true,
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview --port 5050",
"typecheck": "vue-tsc --noEmit",
"story": "histoire dev --port 3030",
"story:build": "histoire build"
},
"dependencies": {
"@apollo/client": "^3.9.5",
"@codemirror/autocomplete": "^6.13.0",
"@codemirror/commands": "^6.3.3",
"@codemirror/lang-cpp": "^6.0.2",
"@codemirror/lang-java": "^6.0.1",
"@codemirror/lang-python": "^6.1.4",
"@codemirror/language": "^6.10.1",
"@codemirror/state": "^6.4.1",
"@codemirror/theme-one-dark": "^6.1.2",
"@codemirror/view": "^6.25.0",
"@tiptap/pm": "^2.2.4",
"@tiptap/starter-kit": "^2.2.4",
"@tiptap/vue-3": "^2.2.4",
"@vee-validate/zod": "^4.12.5",
"@vue/apollo-composable": "4.0.1",
"@vueuse/components": "^10.8.0",
"@vueuse/core": "^10.8.0",
"@vueuse/integrations": "^10.8.0",
"@vueuse/math": "^10.8.0",
"@vueuse/router": "^10.8.0",
"axios": "^1.6.7",
"axios-retry": "^4.0.0",
"graphql": "^16.8.1",
"graphql-tag": "^2.12.6",
"naive-ui": "^2.38.1",
"nprogress": "0.2.0",
"pinia": "^2.1.7",
"sortablejs": "^1.15.2",
"vee-validate": "^4.12.5",
"vue": "^3.4.20",
"vue-dompurify-html": "^5.0.1",
"vue-query": "^1.26.0",
"vue-router": "^4.3.0",
"zod": "^3.22.4"
},
"devDependencies": {
"@histoire/plugin-vue": "^0.17.12",
"@iconify-json/ant-design": "^1.1.15",
"@iconify-json/bi": "^1.1.23",
"@iconify-json/fa": "^1.1.8",
"@iconify-json/fa6-brands": "^1.1.18",
"@iconify-json/fa6-regular": "^1.1.18",
"@iconify-json/fa6-solid": "^1.1.20",
"@iconify-json/fluent": "^1.1.49",
"@iconify-json/iconoir": "^1.1.41",
"@iconify-json/material-symbols": "^1.1.73",
"@iconify-json/ri": "^1.1.20",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.10",
"@types/node": "^20.11.20",
"@types/nprogress": "^0.2.3",
"@vitejs/plugin-vue": "^5.0.4",
"@vue/tsconfig": "^0.5.1",
"autoprefixer": "^10.4.17",
"histoire": "^0.17.9",
"postcss": "^8.4.35",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3",
"unplugin-icons": "^0.18.5",
"vite": "^5.1.4",
"vite-plugin-checker": "^0.6.4",
"vite-plugin-pages": "^0.32.0",
"vite-plugin-vue-layouts": "^0.11.0",
"vue-tsc": "^1.8.27"
},
"type": "module"
}
Loading

0 comments on commit 50f62b3

Please sign in to comment.