diff --git a/.drone.star b/.drone.star index c1bba64194..30a7cd204e 100644 --- a/.drone.star +++ b/.drone.star @@ -368,9 +368,10 @@ def binary(ctx, name): 'files': [ 'dist/release/*', ], - 'title': ctx.build.ref.replace("refs/tags/", ""), + 'title': ctx.build.ref.replace("refs/tags/v", ""), 'note': 'dist/CHANGELOG.md', 'overwrite': True, + 'prerelease': len(ctx.build.ref.split("-")) > 1, }, 'when': { 'ref': [ @@ -441,6 +442,7 @@ def manifest(ctx): } def changelog(ctx): + repo_slug = ctx.build.source_repo if ctx.build.source_repo else ctx.repo.slug return { 'kind': 'pipeline', 'type': 'docker', @@ -461,8 +463,8 @@ def changelog(ctx): 'actions': [ 'clone', ], - 'remote': 'https://github.com/%s' % (ctx.repo.slug), - 'branch': ctx.build.branch if ctx.build.event == 'pull_request' else 'master', + 'remote': 'https://github.com/%s' % (repo_slug), + 'branch': ctx.build.source if ctx.build.event == 'pull_request' else 'master', 'path': '/drone/src', 'netrc_machine': 'github.com', 'netrc_username': { @@ -481,6 +483,14 @@ def changelog(ctx): 'make changelog', ], }, + { + 'name': 'diff', + 'image': 'webhippie/golang:1.13', + 'pull': 'always', + 'commands': [ + 'git diff', + ], + }, { 'name': 'output', 'image': 'webhippie/golang:1.13', @@ -525,7 +535,7 @@ def changelog(ctx): 'trigger': { 'ref': [ 'refs/heads/master', - 'refs/tags/**', + 'refs/pull/**', ], }, } @@ -612,11 +622,25 @@ def website(ctx): }, 'steps': [ { - 'name': 'generate', - 'image': 'webhippie/hugo:latest', - 'pull': 'always', + 'name': 'prepare', + 'image': 'owncloudci/alpine:latest', 'commands': [ - 'make docs', + 'make docs-copy' + ], + }, + { + 'name': 'test', + 'image': 'webhippie/hugo:latest', + 'commands': [ + 'cd hugo', + 'hugo', + ], + }, + { + 'name': 'list', + 'image': 'owncloudci/alpine:latest', + 'commands': [ + 'tree hugo/public', ], }, { @@ -630,8 +654,28 @@ def website(ctx): 'password': { 'from_secret': 'github_token', }, - 'pages_directory': 'docs/public/', - 'temporary_base': 'tmp/', + 'pages_directory': 'docs/', + 'target_branch': 'docs', + }, + 'when': { + 'ref': { + 'exclude': [ + 'refs/pull/**', + ], + }, + }, + }, + { + 'name': 'downstream', + 'image': 'plugins/downstream', + 'settings': { + 'server': 'https://cloud.drone.io/', + 'token': { + 'from_secret': 'drone_token', + }, + 'repositories': [ + 'owncloud/owncloud.github.io@source', + ], }, 'when': { 'ref': { diff --git a/.gitignore b/.gitignore index 88846a9f3c..299a09c29e 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ coverage.out /bin /dist +/hugo diff --git a/Makefile b/Makefile index efa0a24fc4..8efaa72dc4 100644 --- a/Makefile +++ b/Makefile @@ -3,6 +3,7 @@ NAME := ocis IMPORT := github.com/owncloud/$(NAME) BIN := bin DIST := dist +HUGO := hugo ifeq ($(OS), Windows_NT) EXECUTABLE := $(NAME).exe @@ -130,9 +131,24 @@ release-check: .PHONY: release-finish release-finish: release-copy release-check +.PHONY: docs-copy +docs-copy: + mkdir -p $(HUGO); \ + mkdir -p $(HUGO)/content/; \ + cd $(HUGO); \ + git init; \ + git remote rm origin; \ + git remote add origin https://github.com/owncloud/owncloud.github.io; \ + git fetch; \ + git checkout origin/source -f; \ + rsync --delete -ax ../docs/ content/$(NAME) + +.PHONY: docs-build +docs-build: + cd $(HUGO); hugo + .PHONY: docs -docs: - cd docs; hugo +docs: docs-copy docs-build .PHONY: watch watch: diff --git a/changelog/CHANGELOG.tmpl b/changelog/CHANGELOG.tmpl index 3fee894812..d9150e3676 100644 --- a/changelog/CHANGELOG.tmpl +++ b/changelog/CHANGELOG.tmpl @@ -1,18 +1,40 @@ -{{- range $changes := . }}{{ with $changes -}} -# Changelog for {{ .Version }} +{{ $allVersions := . }} +{{- range $index, $changes := . }}{{ with $changes -}} +# Changelog for [{{ .Version }}] ({{ .Date }}) The following sections list the changes for {{ .Version }}. +{{ if gt (len $allVersions) 1 -}} +{{/* creating version compare links */ -}} +{{ $next := add1 $index -}} +{{ if ne (len $allVersions) $next -}} +{{ $previousVersion := (index $allVersions $next).Version -}} +{{ if eq .Version "unreleased" -}} +[{{ .Version }}]: https://github.com/owncloud/ocis/compare/v{{ $previousVersion }}...master + +{{ else -}} +[{{ .Version }}]: https://github.com/owncloud/ocis/compare/v{{ $previousVersion }}...v{{ .Version }} + +{{ end -}} +{{ end -}} + +{{- /* last version managed by calens, end of the loop */ -}} +{{ if eq .Version "0.1.0" -}} +[{{ .Version }}]: https://github.com/owncloud/ocis/compare/94f19e653e30cdf16dcf23dbaf36c6d753d37ae9...v{{ .Version }} + +{{ end -}} +{{- end -}} + ## Summary {{ range $entry := .Entries }}{{ with $entry }} - * {{ .TypeShort }} #{{ .PrimaryID }}: {{ .Title }} +* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }}) {{- end }}{{ end }} ## Details {{ range $entry := .Entries }}{{ with $entry }} - * {{ .Type }} #{{ .PrimaryID }}: {{ .Title }} +* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }}) {{ range $par := .Paragraphs }} - {{ wrap $par 80 3 }} + {{ wrapIndent $par 80 3 }} {{ end -}} {{ range $url := .IssueURLs }} {{ $url -}} @@ -23,6 +45,6 @@ The following sections list the changes for {{ .Version }}. {{ range $url := .OtherURLs }} {{ $url -}} {{ end }} -{{ end }}{{ end }} {{ end }}{{ end -}} +{{ end }}{{ end -}} diff --git a/docs/layouts/_default/list.html b/changelog/unreleased/.keep similarity index 100% rename from docs/layouts/_default/list.html rename to changelog/unreleased/.keep diff --git a/docs/content/about.md b/docs/_index.md similarity index 81% rename from docs/content/about.md rename to docs/_index.md index f92b3e7e43..8f5689f8fa 100644 --- a/docs/content/about.md +++ b/docs/_index.md @@ -1,7 +1,7 @@ --- -title: "About" +title: "OCIS" date: 2018-05-02T00:00:00+00:00 -anchor: "about" +anchor: "ocis" weight: 10 --- diff --git a/docs/archetypes/default.md b/docs/archetypes/default.md deleted file mode 100644 index 4e777bee13..0000000000 --- a/docs/archetypes/default.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -date: {{ .Date }} -anchor: "{{ replace .TranslationBaseName "-" " " | title | urlize }}" -weight: ---- diff --git a/docs/content/building.md b/docs/building.md similarity index 100% rename from docs/content/building.md rename to docs/building.md diff --git a/docs/config.toml b/docs/config.toml deleted file mode 100644 index e3250e7d58..0000000000 --- a/docs/config.toml +++ /dev/null @@ -1,18 +0,0 @@ -baseURL = "https://owncloud.github.io/ocis/" -languageCode = "en-us" -title = "ownCloud Infinite Scale Stack" -pygmentsUseClasses = true - -disableKinds = ["taxonomy", "taxonomyTerm", "RSS", "sitemap"] - -[blackfriday] - angledQuotes = true - fractions = false - plainIDAnchors = true - smartlists = true - extensions = ["hardLineBreak"] - -[params] - author = "ownCloud GmbH" - description = "Simple deployment for oCIS" - keywords = "reva, ocis" diff --git a/docs/content/extensions.md b/docs/extensions.md similarity index 100% rename from docs/content/extensions.md rename to docs/extensions.md diff --git a/docs/content/getting-started.md b/docs/getting-started.md similarity index 100% rename from docs/content/getting-started.md rename to docs/getting-started.md diff --git a/docs/layouts/_default/single.html b/docs/layouts/_default/single.html deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/docs/layouts/index.html b/docs/layouts/index.html deleted file mode 100644 index 27db113acd..0000000000 --- a/docs/layouts/index.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - {{ .Site.Title }} - - - - - - {{ partial "style.html" . }} - - - - - - {{ range .Data.Pages.ByWeight }} -
-

- - {{ .Title }} - - - - - Back to Top - - -

- - {{ .Content | markdownify }} -
- {{ end }} - - diff --git a/docs/layouts/partials/style.html b/docs/layouts/partials/style.html deleted file mode 100644 index 1386c59b0d..0000000000 --- a/docs/layouts/partials/style.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/docs/content/license.md b/docs/license.md similarity index 100% rename from docs/content/license.md rename to docs/license.md diff --git a/docs/static/styles.css b/docs/static/styles.css deleted file mode 100644 index 3eeea791fe..0000000000 --- a/docs/static/styles.css +++ /dev/null @@ -1,338 +0,0 @@ -body, -html { - cursor: default; -} - -body, -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6, -pre, -form, -fieldset, -input, -textarea, -p, -blockquote, -th, -td { - margin: 0; - padding: 0; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -:before, -:after { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -img, -object, -embed { - max-width: 100%; - height: auto; -} - -object, -embed { - height: 100%; -} - -img { - margin: 1.25% 0; - -ms-interpolation-mode: bicubic; -} - -html { - background-color: #F0F1F3; - padding: 2%; -} - -body { - font-size: 16px; - line-height: 1.6; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - color: #242424; - max-width: 800px; - margin: 5% auto; -} - -body::after { - clear: both; - content: ""; - display: table; -} - -header { - margin-bottom: 8%; -} - -footer { - text-align: center; -} - -h1, -h2, -h3, -h4, -h5, -h2 a { - color: #263A48; - font-weight: 500; - text-decoration: none; -} - -h1, -h2 { - font-size: 36px; - padding-bottom: 0.3em; - margin-bottom: 0.4em; - border-bottom: 1px solid #eee -} - -h2 { - font-size: 22px; - padding-bottom: 0.6em; - margin-bottom: 0.6em; - margin-top: 2.5em; -} - -h3 { - font-size: 18px; - margin-bottom: 0.3em; -} - -h2 small a { - color: #98999C; - font-size: 15px; - font-weight: normal; - float: right; - position: absolute; - top: 15px; - right: 20px; -} - -section { - background: #fff; - margin-bottom: 1%; - position: relative; - padding: 6% 8%; -} - -blockquote { - border-left: 3px solid #d54e21; - font-size: 16px; - padding: 0 0 0 20px; - color: #d54e21; -} - -blockquote a { - color: #d54e21; - font-weight: 500; -} - -blockquote code { - color: #d54e21; -} - -.highlight pre { - padding: 10px; -} - -.highlight { - margin-bottom: 4%; -} - -a { - color: #1e8cbe; - text-decoration: underline; -} - -a:hover { - color: #d54e21; -} - -ul { - list-style: none; -} - -ol { - list-style: number; -} - -ol li { - color: #98999C; - margin-bottom: 5px; -} - -ol li:last-child { - margin-bottom: 0; -} - -p, -ul, -ol, -blockquote { - margin-bottom: 4%; -} - -ul ul { - padding-top: 0; - margin-bottom: 0; - margin-left: 4%; -} - -ul ul li:before { - content: '-'; - display: inline-block; - padding-right: 2%; -} - -ul.col-2 { - color: #98999C; - -webkit-column-count: 2; - -moz-column-count: 2; - column-count: 2; - -webkit-column-gap: 20px; - -moz-column-gap: 20px; - column-gap: 20px; -} - -dl dt { - font-weight: bold; -} - -dl dd { - padding-left: 10px; -} - -@media screen and (min-width: 500px) { - ul.col-2 { - -webkit-column-count: 3; - -moz-column-count: 3; - column-count: 3; - -webkit-column-gap: 20px; - -moz-column-gap: 20px; - column-gap: 20px; - } -} - -nav { - background: #F0F1F3; - min-width: 215px; - margin-bottom: 5px; - margin-top: 15px; -} - -nav:first-of-type a { - color: #d54e21; - border-radius: 0; -} - -nav:first-of-type a:hover { - color: #d54e21; -} - -nav:first-of-type a:before { - background-color: #d54e21; -} - -nav.affix { - position: fixed; - top: 20px; -} - -nav.affix-bottom { - position: absolute; -} - -nav a { - border-radius: 3px; - font-size: 15px; - display: block; - cursor: pointer; - font-weight: 500; - position: relative; - text-decoration: none; - padding: 10px 12px; - width: 100%; - padding-right: 3px; - border-bottom: 2px solid #fff; -} - -nav a:before { - content: ''; - width: 4px; - display: block; - left: 0; - position: absolute; - height: 100%; - display: none; - background: #1e8cbe; - top: 0; -} - -nav a:hover { - background-color: #E6E8EA; - color: #1e8cbe; - text-decoration: underline; -} - -nav a:hover:before { - display: block; -} - -nav a:last-of-type { - border-bottom: none; -} - -.gist { - margin-top: 5.1%; - margin-bottom: 5%; -} - -@media screen and (max-width: 1050px) { - body { - margin: 0 auto; - } -} - -@media screen and (max-width: 767px) { - header span { - display: none; - } - - h1 { - font-size: 26px; - } - - h2 { - font-size: 20px; - } -} - -@media screen and (max-width: 514px) { - p, - ul, - ol, - blockquote { - margin-bottom: 8%; - } -} diff --git a/docs/static/syntax.css b/docs/static/syntax.css deleted file mode 100644 index 681758d068..0000000000 --- a/docs/static/syntax.css +++ /dev/null @@ -1,59 +0,0 @@ -/* Background */ .chroma { color: #f8f8f2; background-color: #272822 } -/* Error */ .chroma .err { color: #960050; background-color: #1e0010 } -/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } -/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } -/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc } -/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; } -/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; } -/* Keyword */ .chroma .k { color: #66d9ef } -/* KeywordConstant */ .chroma .kc { color: #66d9ef } -/* KeywordDeclaration */ .chroma .kd { color: #66d9ef } -/* KeywordNamespace */ .chroma .kn { color: #f92672 } -/* KeywordPseudo */ .chroma .kp { color: #66d9ef } -/* KeywordReserved */ .chroma .kr { color: #66d9ef } -/* KeywordType */ .chroma .kt { color: #66d9ef } -/* NameAttribute */ .chroma .na { color: #a6e22e } -/* NameClass */ .chroma .nc { color: #a6e22e } -/* NameConstant */ .chroma .no { color: #66d9ef } -/* NameDecorator */ .chroma .nd { color: #a6e22e } -/* NameException */ .chroma .ne { color: #a6e22e } -/* NameFunction */ .chroma .nf { color: #a6e22e } -/* NameOther */ .chroma .nx { color: #a6e22e } -/* NameTag */ .chroma .nt { color: #f92672 } -/* Literal */ .chroma .l { color: #ae81ff } -/* LiteralDate */ .chroma .ld { color: #e6db74 } -/* LiteralString */ .chroma .s { color: #e6db74 } -/* LiteralStringAffix */ .chroma .sa { color: #e6db74 } -/* LiteralStringBacktick */ .chroma .sb { color: #e6db74 } -/* LiteralStringChar */ .chroma .sc { color: #e6db74 } -/* LiteralStringDelimiter */ .chroma .dl { color: #e6db74 } -/* LiteralStringDoc */ .chroma .sd { color: #e6db74 } -/* LiteralStringDouble */ .chroma .s2 { color: #e6db74 } -/* LiteralStringEscape */ .chroma .se { color: #ae81ff } -/* LiteralStringHeredoc */ .chroma .sh { color: #e6db74 } -/* LiteralStringInterpol */ .chroma .si { color: #e6db74 } -/* LiteralStringOther */ .chroma .sx { color: #e6db74 } -/* LiteralStringRegex */ .chroma .sr { color: #e6db74 } -/* LiteralStringSingle */ .chroma .s1 { color: #e6db74 } -/* LiteralStringSymbol */ .chroma .ss { color: #e6db74 } -/* LiteralNumber */ .chroma .m { color: #ae81ff } -/* LiteralNumberBin */ .chroma .mb { color: #ae81ff } -/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff } -/* LiteralNumberHex */ .chroma .mh { color: #ae81ff } -/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff } -/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff } -/* LiteralNumberOct */ .chroma .mo { color: #ae81ff } -/* Operator */ .chroma .o { color: #f92672 } -/* OperatorWord */ .chroma .ow { color: #f92672 } -/* Comment */ .chroma .c { color: #75715e } -/* CommentHashbang */ .chroma .ch { color: #75715e } -/* CommentMultiline */ .chroma .cm { color: #75715e } -/* CommentSingle */ .chroma .c1 { color: #75715e } -/* CommentSpecial */ .chroma .cs { color: #75715e } -/* CommentPreproc */ .chroma .cp { color: #75715e } -/* CommentPreprocFile */ .chroma .cpf { color: #75715e } -/* GenericDeleted */ .chroma .gd { color: #f92672 } -/* GenericEmph */ .chroma .ge { font-style: italic } -/* GenericInserted */ .chroma .gi { color: #a6e22e } -/* GenericStrong */ .chroma .gs { font-weight: bold } -/* GenericSubheading */ .chroma .gu { color: #75715e }