Skip to content

Commit 0d89a58

Browse files
denyskonmartinjagodicdemshy
authored
feat(backend): add gitea backend (#6808)
* feat(backend): add gitea backend * fix: cleanups, fixes, tests * fix: docs group * chore(naming): adapt gitea backend to new naming * fix: lint, build --------- Co-authored-by: Martin Jagodic <[email protected]> Co-authored-by: Anze Demsar <[email protected]>
1 parent 1b3bd98 commit 0d89a58

File tree

49 files changed

+2194
-13
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2194
-13
lines changed

dev-test/backends/gitea/config.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
backend:
2+
name: gitea
3+
app_id: a582de8c-2459-4e5f-b671-80f99a0592cc
4+
branch: master
5+
repo: owner/repo
6+
7+
media_folder: static/media
8+
public_folder: /media
9+
collections:
10+
- name: posts
11+
label: Posts
12+
label_singular: 'Post'
13+
folder: content/posts
14+
create: true
15+
slug: '{{year}}-{{month}}-{{day}}-{{slug}}'
16+
fields:
17+
- label: Template
18+
name: template
19+
widget: hidden
20+
default: post
21+
- label: Title
22+
name: title
23+
widget: string
24+
- label: 'Cover Image'
25+
name: 'image'
26+
widget: 'image'
27+
required: false
28+
- label: Publish Date
29+
name: date
30+
widget: datetime
31+
- label: Description
32+
name: description
33+
widget: text
34+
- label: Category
35+
name: category
36+
widget: string
37+
- label: Body
38+
name: body
39+
widget: markdown
40+
- label: Tags
41+
name: tags
42+
widget: list
43+
- name: pages
44+
label: Pages
45+
label_singular: 'Page'
46+
folder: content/pages
47+
create: true
48+
slug: '{{slug}}'
49+
fields:
50+
- label: Template
51+
name: template
52+
widget: hidden
53+
default: page
54+
- label: Title
55+
name: title
56+
widget: string
57+
- label: Draft
58+
name: draft
59+
widget: boolean
60+
default: true
61+
- label: Body
62+
name: body
63+
widget: markdown

dev-test/backends/gitea/index.html

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
6+
<title>Decap CMS Development Test</title>
7+
</head>
8+
<body>
9+
<script src="/dist/decap-cms.js"></script>
10+
<script>
11+
var PostPreview = createClass({
12+
render: function() {
13+
var entry = this.props.entry;
14+
return h(
15+
'div',
16+
{},
17+
h('div', { className: 'cover' }, h('h1', {}, entry.getIn(['data', 'title']))),
18+
h('p', {}, h('small', {}, 'Written ' + entry.getIn(['data', 'date']))),
19+
h('div', { className: 'text' }, this.props.widgetFor('body')),
20+
);
21+
},
22+
});
23+
24+
var PagePreview = createClass({
25+
render: function() {
26+
var entry = this.props.entry;
27+
return h(
28+
'div',
29+
{},
30+
h('div', { className: 'cover' }, h('h1', {}, entry.getIn(['data', 'title']))),
31+
h('p', {}, h('small', {}, 'Written ' + entry.getIn(['data', 'date']))),
32+
h('div', { className: 'text' }, this.props.widgetFor('body')),
33+
);
34+
},
35+
});
36+
37+
CMS.registerPreviewTemplate('posts', PostPreview);
38+
CMS.registerPreviewTemplate('pages', PagePreview);
39+
</script>
40+
</body>
41+
</html>

packages/decap-cms-app/src/extensions.js

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { DecapCmsCore as CMS } from 'decap-cms-core';
44
import { AzureBackend } from 'decap-cms-backend-azure';
55
import { GitHubBackend } from 'decap-cms-backend-github';
66
import { GitLabBackend } from 'decap-cms-backend-gitlab';
7+
import { GiteaBackend } from 'decap-cms-backend-gitea';
78
import { GitGatewayBackend } from 'decap-cms-backend-git-gateway';
89
import { BitbucketBackend } from 'decap-cms-backend-bitbucket';
910
import { TestBackend } from 'decap-cms-backend-test';
@@ -34,6 +35,7 @@ CMS.registerBackend('git-gateway', GitGatewayBackend);
3435
CMS.registerBackend('azure', AzureBackend);
3536
CMS.registerBackend('github', GitHubBackend);
3637
CMS.registerBackend('gitlab', GitLabBackend);
38+
CMS.registerBackend('gitea', GiteaBackend);
3739
CMS.registerBackend('bitbucket', BitbucketBackend);
3840
CMS.registerBackend('test-repo', TestBackend);
3941
CMS.registerBackend('proxy', ProxyBackend);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"name": "decap-cms-backend-gitea",
3+
"description": "Gitea backend for Decap CMS",
4+
"version": "3.0.2",
5+
"repository": "https://github.com/decaporg/decap-cms/tree/master/packages/decap-cms-backend-gitea",
6+
"bugs": "https://github.com/decaporg/decap-cms/issues",
7+
"license": "MIT",
8+
"module": "dist/esm/index.js",
9+
"main": "dist/decap-cms-backend-gitea.js",
10+
"keywords": [
11+
"decap-cms",
12+
"backend",
13+
"gitea"
14+
],
15+
"sideEffects": false,
16+
"scripts": {
17+
"develop": "yarn build:esm --watch",
18+
"build": "cross-env NODE_ENV=production webpack",
19+
"build:esm": "cross-env NODE_ENV=esm babel src --out-dir dist/esm --ignore \"**/__tests__\" --root-mode upward --extensions \".js,.jsx,.ts,.tsx\""
20+
},
21+
"dependencies": {
22+
"js-base64": "^3.0.0",
23+
"semaphore": "^1.1.0"
24+
},
25+
"peerDependencies": {
26+
"@emotion/react": "^11.11.1",
27+
"@emotion/styled": "^11.11.0",
28+
"immutable": "^3.7.6",
29+
"lodash": "^4.17.11",
30+
"decap-cms-lib-auth": "^3.0.0",
31+
"decap-cms-lib-util": "^3.0.0",
32+
"decap-cms-ui-default": "^3.0.0",
33+
"prop-types": "^15.7.2",
34+
"react": "^16.8.4 || ^17.0.0"
35+
}
36+
}

0 commit comments

Comments
 (0)