mirror of https://github.com/Requarks/wiki.git
53 changed files with 1142 additions and 125 deletions
Split View
Diff Options
-
46.github/CODE_OF_CONDUCT.md
-
3.github/ISSUE_TEMPLATE.md
-
4.gitignore
-
22CHANGELOG.md
-
67CONTRIBUTING.md
-
66README.md
-
2client/js/app.js
-
66client/js/components/modal-delete-page.vue
-
2client/js/store/index.js
-
14client/js/store/modules/modal-delete-page.js
-
1client/scss/app.scss
-
6client/scss/components/nav.scss
-
28client/scss/layout/_rtl.scss
-
3config.sample.yml
-
15package.json
-
3server/app/data.yml
-
25server/controllers/pages.js
-
4server/locales/en/browser.json
-
10server/locales/es/browser.json
-
14server/locales/fa/admin.json
-
4server/locales/fa/auth.json
-
85server/locales/fa/browser.json
-
51server/locales/fa/common.json
-
30server/locales/fa/errors.json
-
6server/locales/fa/git.json
-
82server/locales/ja/admin.json
-
32server/locales/ja/auth.json
-
117server/locales/ja/browser.json
-
51server/locales/ja/common.json
-
30server/locales/ja/errors.json
-
6server/locales/ja/git.json
-
37server/locales/ko/admin.json
-
104server/locales/ko/browser.json
-
4server/locales/ko/common.json
-
2server/locales/ko/errors.json
-
8server/locales/nl/admin.json
-
2server/locales/nl/common.json
-
2server/locales/pt/admin.json
-
4server/locales/pt/common.json
-
1server/locales/tr/admin.json
-
1server/locales/tr/auth.json
-
1server/locales/tr/browser.json
-
1server/locales/tr/common.json
-
1server/locales/tr/errors.json
-
1server/locales/tr/git.json
-
4server/locales/zh/admin.json
-
3server/middlewares/security.js
-
26server/modules/documents.js
-
10server/views/pages/view.pug
-
15tools/build/Dockerfile
-
23tools/build/supervisord.conf
-
52tools/semver_next.sh
-
70yarn.lock
@ -0,0 +1,46 @@ |
|||
# Contributor Covenant Code of Conduct |
|||
|
|||
## Our Pledge |
|||
|
|||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. |
|||
|
|||
## Our Standards |
|||
|
|||
Examples of behavior that contributes to creating a positive environment include: |
|||
|
|||
* Using welcoming and inclusive language |
|||
* Being respectful of differing viewpoints and experiences |
|||
* Gracefully accepting constructive criticism |
|||
* Focusing on what is best for the community |
|||
* Showing empathy towards other community members |
|||
|
|||
Examples of unacceptable behavior by participants include: |
|||
|
|||
* The use of sexualized language or imagery and unwelcome sexual attention or advances |
|||
* Trolling, insulting/derogatory comments, and personal or political attacks |
|||
* Public or private harassment |
|||
* Publishing others' private information, such as a physical or electronic address, without explicit permission |
|||
* Other conduct which could reasonably be considered inappropriate in a professional setting |
|||
|
|||
## Our Responsibilities |
|||
|
|||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. |
|||
|
|||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. |
|||
|
|||
## Scope |
|||
|
|||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. |
|||
|
|||
## Enforcement |
|||
|
|||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at abuse@requarks.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. |
|||
|
|||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. |
|||
|
|||
## Attribution |
|||
|
|||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] |
|||
|
|||
[homepage]: http://contributor-covenant.org |
|||
[version]: http://contributor-covenant.org/version/1/4/ |
@ -0,0 +1,67 @@ |
|||
# Contribute |
|||
|
|||
## Introduction |
|||
|
|||
First, thank you for considering contributing to Wiki.js! It's people like you that make the open source community such a great community! 😊 |
|||
|
|||
We welcome any type of contribution, not only code. You can help with |
|||
- **QA**: file bug reports, the more details you can give the better (e.g. screenshots with the console open) |
|||
- **Marketing**: writing blog posts, howto's, printing stickers, ... |
|||
- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ... |
|||
- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them. |
|||
- **Money**: we welcome financial contributions in full transparency on our [open collective](https://opencollective.com/wikijs). |
|||
|
|||
## Your First Contribution |
|||
|
|||
Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github). |
|||
|
|||
## Submitting code |
|||
|
|||
Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests. |
|||
|
|||
## Code review process |
|||
|
|||
The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge. |
|||
It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you? |
|||
|
|||
## Financial contributions |
|||
|
|||
We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/wikijs). |
|||
Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. |
|||
|
|||
## Questions |
|||
|
|||
If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!). |
|||
You can also reach us at hello@wikijs.opencollective.com. |
|||
|
|||
## Credits |
|||
|
|||
### Contributors |
|||
|
|||
Thank you to all the people who have already contributed to Wiki.js! |
|||
<a href="graphs/contributors"><img src="https://opencollective.com/wikijs/contributors.svg?width=890" /></a> |
|||
|
|||
|
|||
### Backers |
|||
|
|||
Thank you to all our backers! [[Become a backer](https://opencollective.com/wikijs#backer)] |
|||
|
|||
<a href="https://opencollective.com/wikijs#backers" target="_blank"><img src="https://opencollective.com/wikijs/backers.svg?width=890"></a> |
|||
|
|||
|
|||
### Sponsors |
|||
|
|||
Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/wikijs#sponsor)) |
|||
|
|||
<a href="https://opencollective.com/wikijs/sponsor/0/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/0/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/1/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/1/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/2/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/2/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/3/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/3/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/4/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/4/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/5/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/5/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/6/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/6/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/7/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/7/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/8/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/8/avatar.svg"></a> |
|||
<a href="https://opencollective.com/wikijs/sponsor/9/website" target="_blank"><img src="https://opencollective.com/wikijs/sponsor/9/avatar.svg"></a> |
|||
|
|||
<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template --> |
@ -0,0 +1,66 @@ |
|||
<template lang="pug"> |
|||
transition(:duration="400") |
|||
.modal(v-show='isShown', v-cloak) |
|||
transition(name='modal-background') |
|||
.modal-background(v-show='isShown') |
|||
.modal-container |
|||
transition(name='modal-content') |
|||
.modal-content(v-show='isShown') |
|||
header.is-red |
|||
span {{ $t('modal.deletepagetitle') }} |
|||
p.modal-notify(v-bind:class='{ "is-active": isLoading }'): i |
|||
section |
|||
span {{ $t('modal.deletepagewarning') }} |
|||
footer |
|||
a.button.is-grey.is-outlined(v-on:click='discard') {{ $t('modal.discard') }} |
|||
a.button.is-red(v-on:click='deletePage') {{ $t('modal.delete') }} |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'modal-delete-page', |
|||
props: ['currentPath'], |
|||
data () { |
|||
return { |
|||
isLoading: false |
|||
} |
|||
}, |
|||
computed: { |
|||
isShown () { |
|||
return this.$store.state.modalDeletePage.shown |
|||
} |
|||
}, |
|||
methods: { |
|||
discard () { |
|||
this.isLoading = false |
|||
this.$store.dispatch('modalDeletePage/close') |
|||
}, |
|||
deletePage () { |
|||
let self = this |
|||
this.isLoading = true |
|||
this.$http.delete(window.location.href).then(resp => { |
|||
return resp.json() |
|||
}).then(resp => { |
|||
if (resp.ok) { |
|||
window.location.assign('/') |
|||
} else { |
|||
self.isLoading = false |
|||
self.$store.dispatch('alert', { |
|||
style: 'red', |
|||
icon: 'ui-2_square-remove-09', |
|||
msg: resp.msg |
|||
}) |
|||
} |
|||
}).catch(err => { |
|||
self.isLoading = false |
|||
self.$store.dispatch('alert', { |
|||
style: 'red', |
|||
icon: 'ui-2_square-remove-09', |
|||
msg: 'Error: ' + err.body.msg |
|||
}) |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,14 @@ |
|||
export default { |
|||
namespaced: true, |
|||
state: { |
|||
shown: false |
|||
}, |
|||
getters: {}, |
|||
mutations: { |
|||
shownChange: (state, shownState) => { state.shown = shownState } |
|||
}, |
|||
actions: { |
|||
open({ commit }) { commit('shownChange', true) }, |
|||
close({ commit }) { commit('shownChange', false) } |
|||
} |
|||
} |
@ -0,0 +1,28 @@ |
|||
.rtl { |
|||
direction: rtl; |
|||
|
|||
.button i { |
|||
margin-left: 8px; |
|||
margin-right: 0px; |
|||
} |
|||
|
|||
.nav-right .nav-item { |
|||
padding: 0 10px 0 0; |
|||
} |
|||
|
|||
.nav-item h1 i { |
|||
margin-left: 8px; |
|||
margin-right: 8px; |
|||
} |
|||
|
|||
.sidebar aside .sidebar-menu li a i { |
|||
margin-left: 7px; |
|||
margin-right: 0; |
|||
} |
|||
|
|||
.mkcontent { |
|||
ul { |
|||
padding: 10px 40px 10px 0; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,51 @@ |
|||
{ |
|||
"wiki": "ویکی", |
|||
"header": { |
|||
"overview": "بررسی اجمالی", |
|||
"createdoc": "ایجاد سند جدید" |
|||
}, |
|||
"footer": { |
|||
"poweredby": "ساخته شده به وسیله", |
|||
"home": "خانه", |
|||
"top": "بازگشت به بالای صفحه" |
|||
}, |
|||
"sidebar": { |
|||
"nav": "ناوبری", |
|||
"navigation": "ناوبری", |
|||
"pagecontents": "محتویات صفحه", |
|||
"pastversions": "نسخه های پیشین" |
|||
}, |
|||
"nav": { |
|||
"account": "حساب کاربری", |
|||
"allpages": "تمام صفحات", |
|||
"create": "ايجاد کردن", |
|||
"discard": "دور انداختن", |
|||
"edit": "ویرایش", |
|||
"history": "تاریخچه", |
|||
"login": "ورود", |
|||
"logout": "خروج", |
|||
"move": "انتقال", |
|||
"myprofile": "پروفایل من", |
|||
"normalview": "چشمانداز معمولی", |
|||
"root": "خانه", |
|||
"savechanges": "ذخیره تغییرات", |
|||
"savedocument": "ذخیره سند", |
|||
"settings": "تنظیمات", |
|||
"source": "منبع", |
|||
"stats": "آمار", |
|||
"sysinfo": "اطلاعات سیستم", |
|||
"syssettings": "تنظیمات سیستم", |
|||
"theme": "تم رنگ", |
|||
"users": "کاربران", |
|||
"viewlatest": "مشاهده آخرین" |
|||
}, |
|||
"welcome": { |
|||
"title": "به ویکی خودتان خوش آمدید!", |
|||
"subtitle": "شروع و ساختن صفحه اصلی", |
|||
"createhome": "ایجاد صفحه اصلی" |
|||
}, |
|||
"loading": { |
|||
"source": "درحال بارگیری منبع...", |
|||
"editor": "در حال بارگیری ویرایشگر..." |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
{ |
|||
"alreadyexists": "این ورودی از پیش وجود دارد!", |
|||
"debugmsg": "ردپای دقیق برای اشکال زدائی", |
|||
"fileexists": "فایل {{path}} از پیش وجود دارد.", |
|||
"forbidden": "ممنوع", |
|||
"forbiddendetail": "متاسفانه شما اجازه لازم برای دسترسی به این صفحه را ندارید.", |
|||
"generic": "اشتباهی رخ داد", |
|||
"invalidaction": "عمل نامعتبر", |
|||
"invaliddestfolder": "پوشه مقصد نامعتبر است!", |
|||
"invalidfiletype": "نوع فایل نامعتبر است", |
|||
"invalidfolder": "پوشه نامعتبر", |
|||
"invalidoperation": "عملیات نامعتبر!", |
|||
"invalidpath": "مسیر صفحه نامعتبر است", |
|||
"invaliduserid": "شناسه کاربری نامعتبر", |
|||
"newpasswordtooshort": "گذرواژه جدید بسیار کوتاه است!", |
|||
"notexist": "مدخل {{path}} وجود ندارد!", |
|||
"notexistdetail": "آیا میخواهید این مدخل را ایجاد کنید؟", |
|||
"parentinvalid": "مدخل والد یک فایل معتبر نیست", |
|||
"parentisroot": "مدخل والد ریشه است.", |
|||
"remotetoolarge": "فایل خارجی بسیار بزرگ است", |
|||
"reservedname": "نمیتوانید سندی با این نام ایجاد کنید، چرا که نام این سند توسط سیستم رزرو شده است.", |
|||
"savefailed": "ذخیره سند با مشکل مواجه شد", |
|||
"starterfailed": "محتوای آغازگر بارگیری نشد!", |
|||
"unauthorized": "غیر مجاز", |
|||
"actions": { |
|||
"create": "ايجاد كردن", |
|||
"gohome": "بازگشت به خانه", |
|||
"loginas": "ورود به سیستم به عنوان..." |
|||
} |
|||
} |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"added": "مسیر {{path}} اضافه شد", |
|||
"deleted": "حذف/تغییرنام {{path}}", |
|||
"updated": "{{path}} به روز رسانی شد", |
|||
"uploaded": "مسیر {{path}} بارگذاری شد" |
|||
} |
@ -0,0 +1,82 @@ |
|||
{ |
|||
"profile": { |
|||
"displayname": "表示する名前", |
|||
"displaynameexample": "山田 太郎", |
|||
"email": "Eメール", |
|||
"lastprofileupdate": "最後のプロファイル更新", |
|||
"membersince": "アカウント登録日", |
|||
"password": "パスポート", |
|||
"passwordverify": "パスポートの確認", |
|||
"provider": "プロバイダ", |
|||
"savechanges": "保存する", |
|||
"subtitle": "プロファイルと認証情報", |
|||
"tfa": "二段認証", |
|||
"tfadisable": "二段認証を無効にする", |
|||
"tfadisabled": "無効済み", |
|||
"tfaenable": "二段認証を有効にする", |
|||
"tfaenabled": "有効済み" |
|||
}, |
|||
"stats": { |
|||
"subtitle": "一般的なサイト統計", |
|||
"entries": "記事", |
|||
"uploads": "アップロード", |
|||
"users": "ユーザー" |
|||
}, |
|||
"setings": { |
|||
"subtitle": "サイト設定を管理する" |
|||
}, |
|||
"system": { |
|||
"subtitle": "Wikiの情報とユーティリティ", |
|||
"systemversion": "システムバージョン", |
|||
"currentversion": "現在のバージョン", |
|||
"latestversion": "最新バージョン", |
|||
"upgrade": "アップグレード", |
|||
"reinstall": "現在のバージョンを再インストールする", |
|||
"versioncheckfailed": "最新バージョンを照会できません。後で再試行してください。", |
|||
"administrativetools": "管理ツール", |
|||
"flushcache": "キャッシュをフラッシュしてインデックスを再構築する", |
|||
"flushcachetext": "コンテンツや検索結果の期限が滞っているか、最新のコンテンツがない場合は、キャッシュをフラッシュするとこれらの問題を解決できます。", |
|||
"flushcachebtn": "フラッシュと再構築する", |
|||
"resetaccounts": "システムアカウントをデフォルトにリセットする", |
|||
"resetaccountstext": "システムアカウント(ゲストアカウントなど)はデフォルト設定にリセットされます。", |
|||
"resetaccountsbtn": "システムアカウントをリセットする", |
|||
"flushsessions": "全てのユーザーセッションをフラッシュする", |
|||
"flushsessionstext": "全てのユーザーがログアウトし、再度ログインする必要があります。現在のセッションにも影響があります!", |
|||
"flushsessionsbtn": "セッションをフラッシュする", |
|||
"hostinfo": "ホスト情報", |
|||
"os": "オペレーティングシステム", |
|||
"nodeversion": "Node.jsバージョン", |
|||
"hostname": "ホスト名", |
|||
"cores": "CPUコア", |
|||
"totalmem": "合計メモリ", |
|||
"cwd": "作業ディレクトリ" |
|||
}, |
|||
"theme": { |
|||
"subtitle": "Wikiのテーマを変更する", |
|||
"primarycolor": "原色", |
|||
"primarycolordesc": "トップナビゲーションバー、ヘッダー、リンクなどに使用されます", |
|||
"altcolor": "代替色", |
|||
"altcolordesc": "サイドバーに使用されます(暗い色調)", |
|||
"footercolor": "フッターの色", |
|||
"footercolordesc": "フッターに使用されます(明るい色調)", |
|||
"codeblock": { |
|||
"title": "コードブロック", |
|||
"dark": "暗いテーマを使用する", |
|||
"colorize": "コードを色分けする" |
|||
}, |
|||
"savechanges": "保存する", |
|||
"reset": "デフォルトに戻す" |
|||
}, |
|||
"users": { |
|||
"createauthorize": "ユーザーの作成・承認", |
|||
"subtitle": "ユーザーとアクセス権限の管理", |
|||
"name": "名前", |
|||
"email": "Eメール", |
|||
"provider": "プロバイダ", |
|||
"createdon": "作成日", |
|||
"updatedon": "変更日", |
|||
"returntousers": "ユーザー画面へ", |
|||
"edituser": "ユーザーの編集", |
|||
"uniqueid": "一意なID" |
|||
} |
|||
} |
@ -0,0 +1,32 @@ |
|||
{ |
|||
"loginrequired": "ログインが必要です", |
|||
"loginusing": "ログイン...", |
|||
"loginusingalt": "又は...", |
|||
"fields": { |
|||
"emailuser": "Eメール又はユーザー名", |
|||
"password": "パスワード" |
|||
}, |
|||
"actions": { |
|||
"login": "ログイン" |
|||
}, |
|||
"errors": { |
|||
"invalidlogin": "不正なログイン", |
|||
"invalidloginmsg": "Eメール又はパスワードが無効です。", |
|||
"invaliduseremail": "無効なユーザーEメール", |
|||
"lognerror": "ログインエラー", |
|||
"notyetauthorized": "まだこのサイトにログインする権限がありません。", |
|||
"toomanyattempts": "試行回数が多すぎます", |
|||
"toomanyattemptsmsg": "短期間に失敗した試行回数が多すぎます。{{time}}にもう一度お試しください。", |
|||
"usernotfound": "ユーザーが見つかりません" |
|||
}, |
|||
"providers": { |
|||
"local": "ローカル", |
|||
"windowslive": "Microsoft Account", |
|||
"azure": "Azure Active Directory", |
|||
"google": "Google ID", |
|||
"facebook": "Facebook", |
|||
"github": "GitHub", |
|||
"slack": "Slack", |
|||
"ldap": "LDAP / Active Directory" |
|||
} |
|||
} |
@ -0,0 +1,117 @@ |
|||
{ |
|||
"editor": { |
|||
"codeblockinsert": "コードブロックを挿入する", |
|||
"codeblocklanguage": "言語", |
|||
"codeblockloading": "{{name}}言語の構文を読み込み中", |
|||
"codeblockloadingerror": "エラー:言語の構文を読み込めません。", |
|||
"codeblocksuccess": "コードブロックが挿入されました。", |
|||
"codeblocktitle": "コードブロックを挿入する", |
|||
"discard": "キャンセル", |
|||
"filedeleteaction": "削除", |
|||
"filedeleteloading": "ファイルを削除中...", |
|||
"filedeletedefault": "このファイル", |
|||
"filedeletesuccess": "ファイルが削除されました。", |
|||
"fileerror": "更新されたリスティングを読み込むことはできませんでした。", |
|||
"filefolderempty": "このフォルダは空いています。", |
|||
"fileinsert": "ファイルのリンクを挿入する", |
|||
"fileloading": "ファイルを読み込み中...", |
|||
"filemoveaction": "移動...", |
|||
"filemoveerror": "移動エラー:{{err}}", |
|||
"filemoveloading": "ファイルを移動中...", |
|||
"filemovesuccess": "ファイルが移動されました。", |
|||
"fileprocessing": "処理中...", |
|||
"filerenameaction": "名称の変更", |
|||
"filesuccess": "ファイルリンクが挿入されました。", |
|||
"filetitle": "ファイルを挿入する", |
|||
"fileupload": "ファイルをアップロードする", |
|||
"fileuploaderror": "アップロードエラー:{{err}}", |
|||
"fileuploadsuccess": "ファイルがアップロードされました。", |
|||
"folders": "フォルダ", |
|||
"foldersloading": "フォルダリストを読み込み中...", |
|||
"imagetitle": "画像を挿入する", |
|||
"imageinsert": "画像を挿入する", |
|||
"imagesuccess": "画像が挿入されました。", |
|||
"imageupload": "画像をアップロードする", |
|||
"imagealignleft": "左(デフォルト)", |
|||
"imagealigncenter": "中", |
|||
"imagealignright": "右", |
|||
"imagealignlogo": "ページロゴ", |
|||
"newfolder": "新しいフォルダ", |
|||
"videoanymp4file": "標準MP4ファイル", |
|||
"videoinsert": "ビデオを挿入する", |
|||
"videolinktitle": "埋め込むビデオへのリンクを入力してください:", |
|||
"videonotsupported": "このURLは無効かサポートされていません。", |
|||
"videosuccess": "ビデオコードが挿入されました。", |
|||
"videosupportedtitle": "以下がサポートされています:", |
|||
"videotitle": "ビデオを挿入する" |
|||
}, |
|||
"history": { |
|||
"pastversions": "過去のバージョン", |
|||
"timestamp": "タイムスタンプ", |
|||
"author": "著者", |
|||
"commit": "コミット", |
|||
"comparewith": "比べる...", |
|||
"view": "見る", |
|||
"reverttoversion": "バージョンに戻す", |
|||
"sidebyside": "サイドバイサイド画面" |
|||
}, |
|||
"modal": { |
|||
"abort": "中止する", |
|||
"anchorerror": "クリップボードからのコピーが失敗しました。手動でURLをコピーしてください。", |
|||
"anchorsuccess": "URLがクリップボードにコピーされました。", |
|||
"anchortitle": "このセクションへのリンクをコピーする", |
|||
"copyclipboard": "クリップボードにコピーする", |
|||
"create": "作成", |
|||
"createpageinvalid": "ページパスは無効です。", |
|||
"createpagepath": "新しいページパスを入力してください:", |
|||
"createpagetitle": "新しいページを作成する", |
|||
"createuser": "ユーザーを作成する", |
|||
"createuserauthorize": "ユーザーを承認する", |
|||
"createuseremail": "Eメール:", |
|||
"createuseremailplaceholder": "例:taro.yamada@company.com", |
|||
"createusername": "名前:", |
|||
"createusernameplaceholder": "例:山田 太郎", |
|||
"createuserpassword": "パスポート:", |
|||
"createuserprovider": "プロバイダ:", |
|||
"createusertitle": "ユーザーを作成・承認する", |
|||
"delete": "削除", |
|||
"deletefiletitle": "を削除する?", |
|||
"deletefilewarn": "本当に削除しますか?", |
|||
"deletepagewarning": "本当にこのページを削除しますか?この操作は元に戻すことはできません!", |
|||
"deletepagetitle": "このページを削除しますか?", |
|||
"deleteusertitle": "ユーザーアカウントの削除しますか?", |
|||
"deleteuserwarning": "本当にこのユーザーアカウントを削除しますか?この操作は元に戻すことはできません!", |
|||
"discard": "キャンセル", |
|||
"discardpagecreate": "本当にこのページを離れますか?これまでの書いたものは失われます!", |
|||
"discardpageedit": "本当にこのページを離れますか?これまでの変更は失われます!", |
|||
"discardpagestay": "ページに留まる", |
|||
"discardpagetitle": "キャンセル?", |
|||
"move": "移動する", |
|||
"movepageinvalid": "このページパスは無効又は許可されていません。", |
|||
"movepagepath": "新しいページパスを入力してください:", |
|||
"movepageplaceholder": "page-name", |
|||
"movepagetitle": "ページを移動する", |
|||
"movepagewarning": "ページを移動又はページ名を変更する場合、リンクが壊れる可能性があります。その後、このページにリンクしているページは必ず編集してください。", |
|||
"newfolderloading": "新しいフォルダを作成中...", |
|||
"newfoldername": "新しいフォルダ名を入力してください:", |
|||
"newfoldernameplaceholder": "folder-name", |
|||
"newfoldersuccess": "新しいフォルダ{{name}}が作成されました。", |
|||
"newfoldertitle": "新しいフォルダ", |
|||
"renamefile": "ファイル名を変更する", |
|||
"renamefileerror": "ファイル名の変更エラー:{{err}}", |
|||
"renamefileinvalid": "ファイル名は無効です", |
|||
"renamefileloading": "ファイル名を変更中...", |
|||
"renamefilename": "新しいファイル名(拡張子なし)を入力してください:", |
|||
"renamefilenameplaceholder": "ファイル名", |
|||
"renamefiletitle": "ファイルの名前を変更する" |
|||
}, |
|||
"nav": { |
|||
"home": "ホーム" |
|||
}, |
|||
"search": { |
|||
"didyoumean": "もしかして...?", |
|||
"nomatch": "一致する結果はありません", |
|||
"placeholder": "検査...", |
|||
"results": "検査結果" |
|||
} |
|||
} |
@ -0,0 +1,51 @@ |
|||
{ |
|||
"wiki": "Wiki", |
|||
"header": { |
|||
"overview": "概要", |
|||
"createdoc": "記事を作成する" |
|||
}, |
|||
"footer": { |
|||
"poweredby": "Powered by", |
|||
"home": "ホーム", |
|||
"top": "トップ" |
|||
}, |
|||
"sidebar": { |
|||
"nav": "ナビ", |
|||
"navigation": "ナビゲーション", |
|||
"pagecontents": "ページの内容", |
|||
"pastversions": "履歴" |
|||
}, |
|||
"nav": { |
|||
"account": "アカウント", |
|||
"allpages": "全ての記事", |
|||
"create": "作成", |
|||
"discard": "キャンセル", |
|||
"edit": "編集", |
|||
"history": "履歴", |
|||
"login": "ログイン", |
|||
"logout": "ログアウト", |
|||
"move": "移動", |
|||
"myprofile": "マイページ", |
|||
"normalview": "普通の画面", |
|||
"root": "ホーム", |
|||
"savechanges": "保存する", |
|||
"savedocument": "記事を保存する", |
|||
"settings": "設定", |
|||
"source": "ソースコード", |
|||
"stats": "統計", |
|||
"sysinfo": "システム内容", |
|||
"syssettings": "システム設定", |
|||
"theme": "テーマ", |
|||
"users": "ユーザー", |
|||
"viewlatest": "最新を見る" |
|||
}, |
|||
"welcome": { |
|||
"title": "Wikiへよこそ!", |
|||
"subtitle": "ます、ホームページを作りましょう。", |
|||
"createhome": "ホームページの作成" |
|||
}, |
|||
"loading": { |
|||
"source": "ソースコードをロード中...", |
|||
"editor": "編集画面をロード中..." |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
{ |
|||
"alreadyexists": "この記事は既に存在します", |
|||
"debugmsg": "詳細なデバッグトレイル", |
|||
"fileexists": "ファイル{{path}}は既に存在します。", |
|||
"forbidden": "禁じられました", |
|||
"forbiddendetail": "このページにアクセスするために必要な権限がありません。", |
|||
"generic": "エラーが発生しました", |
|||
"invalidaction": "無効なアクション.", |
|||
"invaliddestfolder": "無効なデスティネーションフォルダ", |
|||
"invalidfiletype": "無効なファイルタイプ", |
|||
"invalidfolder": "無効なフォルダ.", |
|||
"invalidoperation": "無効な操作", |
|||
"invalidpath": "無効なページパス", |
|||
"invaliduserid": "無効なユーザーID", |
|||
"newpasswordtooshort": "新しいパスワードが短すぎます", |
|||
"notexist": "記事{{path}}は存在しません", |
|||
"notexistdetail": "この記事を作成しますか?", |
|||
"parentinvalid": "親エントリは有効なファイルではありません。", |
|||
"parentisroot": "親エントリはトップです。", |
|||
"remotetoolarge": "モートファイルが大きすぎます", |
|||
"reservedname": "システムによって予約されているので、この名物名称で記事を作成することはできません。", |
|||
"savefailed": "記事の保存は失敗しました", |
|||
"starterfailed": "スターターコンテンツを読み込めませんでした", |
|||
"unauthorized": "無許可", |
|||
"actions": { |
|||
"create": "作成", |
|||
"gohome": "ホームへ", |
|||
"loginas": "ログイン..." |
|||
} |
|||
} |
@ -0,0 +1,6 @@ |
|||
{ |
|||
"added": "{{path}}を追加しました", |
|||
"deleted": "{{path}}を削除又は名称を変更する", |
|||
"updated": "{{path}}を変更しました", |
|||
"uploaded": "{{path}}をアップロード" |
|||
} |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1 @@ |
|||
{ } |
@ -0,0 +1,15 @@ |
|||
FROM node:8-alpine |
|||
LABEL maintainer="requarks.io" |
|||
|
|||
RUN apk update && \ |
|||
apk add bash curl git openssh supervisor --no-cache && \ |
|||
mkdir -p /var/wiki |
|||
|
|||
WORKDIR /var/wiki |
|||
|
|||
COPY supervisord.conf /etc/supervisord.conf |
|||
COPY . /var/wiki |
|||
|
|||
EXPOSE 3000 |
|||
|
|||
CMD ["supervisord", "--nodaemon", "-c", "/etc/supervisord.conf"] |
@ -0,0 +1,23 @@ |
|||
[unix_http_server] |
|||
file=/var/run/supervisor.sock |
|||
chmod=0700 |
|||
|
|||
[supervisord] |
|||
logfile=/logs/supervisord.log |
|||
pidfile=/var/run/supervisord.pid |
|||
childlogdir=/logs |
|||
|
|||
[rpcinterface:supervisor] |
|||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface |
|||
|
|||
[supervisorctl] |
|||
serverurl=unix:///var/run/supervisor.sock |
|||
|
|||
[program:wikijs] |
|||
command = node server |
|||
autostart=true |
|||
autorestart=true |
|||
priority=5 |
|||
directory=/var/wiki |
|||
stdout_logfile=/logs/wiki-stdout.log |
|||
stderr_logfile=/logs/wiki-stderr.log |
@ -1,52 +0,0 @@ |
|||
#!/bin/bash |
|||
|
|||
# Increment a version string using Semantic Versioning (SemVer) terminology. |
|||
|
|||
# Parse command line options. |
|||
|
|||
while getopts ":Mmp" Option |
|||
do |
|||
case $Option in |
|||
M ) major=true;; |
|||
m ) minor=true;; |
|||
p ) patch=true;; |
|||
esac |
|||
done |
|||
|
|||
shift $(($OPTIND - 1)) |
|||
|
|||
version=$1 |
|||
|
|||
# Build array from version string. |
|||
|
|||
a=( ${version//./ } ) |
|||
|
|||
# If version string is missing or has the wrong number of members, show usage message. |
|||
|
|||
if [ ${#a[@]} -ne 3 ] |
|||
then |
|||
echo "usage: $(basename $0) [-Mmp] major.minor.patch" |
|||
exit 1 |
|||
fi |
|||
|
|||
# Increment version numbers as requested. |
|||
|
|||
if [ ! -z $major ] |
|||
then |
|||
((a[0]++)) |
|||
a[1]=0 |
|||
a[2]=0 |
|||
fi |
|||
|
|||
if [ ! -z $minor ] |
|||
then |
|||
((a[1]++)) |
|||
a[2]=0 |
|||
fi |
|||
|
|||
if [ ! -z $patch ] |
|||
then |
|||
((a[2]++)) |
|||
fi |
|||
|
|||
echo "${a[0]}.${a[1]}.${a[2]}" |
Write
Preview
Loading…
Cancel
Save