diff --git a/docs/docs/images/favicon.svg b/docs/docs/images/favicon.svg
new file mode 100644
index 000000000..05baa0e85
--- /dev/null
+++ b/docs/docs/images/favicon.svg
@@ -0,0 +1,66 @@
+
+
diff --git a/docs/docs/images/logo.svg b/docs/docs/images/logo.svg
new file mode 100644
index 000000000..9bef45bfd
--- /dev/null
+++ b/docs/docs/images/logo.svg
@@ -0,0 +1,116 @@
+
+
diff --git a/docs/docs/index.md b/docs/docs/index.md
index d3880397a..1d80d46c9 100644
--- a/docs/docs/index.md
+++ b/docs/docs/index.md
@@ -1,17 +1,82 @@
-# Welcome to MkDocs
+# Welcome to Woodpecker
-For full documentation visit [mkdocs.org](https://mkdocs.org).
+Woodpecker is a simple CI engine with great extensibility.
-## Commands
+## .woodpecker.yml
-* `mkdocs new [dir-name]` - Create a new project.
-* `mkdocs serve` - Start the live-reloading docs server.
-* `mkdocs build` - Build the documentation site.
-* `mkdocs help` - Print this help message.
+- Place your pipeline in a file named `.woodpecker.yml` in your repository
+- Pipeline steps can be named as you like
+- Run any command in the commands section
-## Project layout
+```yaml
+# .woodpecker.yml
+pipeline:
+ build:
+ image: debian
+ commands:
+ - echo "This is the build step"
+ a-test-step:
+ image: debian
+ commands:
+ - echo "Testing.."
+```
+
+## Build steps are containers
+
+- Define any Docker image as context
+- Install the needed tools in custom Docker images, use them as context
+
+```diff
+pipeline:
+ build:
+- image: debian
++ image: mycompany/image-with-awscli
+ commands:
+ - aws help
+```
+
+## File changes are incremental
+
+- Woodpecker clones the source code in the beginning pipeline
+- Changes to files are persisted through steps as the same volume is mounted to all steps
+
+```yaml
+# .woodpecker.yml
+pipeline:
+ build:
+ image: debian
+ commands:
+ - touch myfile
+ a-test-step:
+ image: debian
+ commands:
+ - cat myfile
+```
+
+## Plugins are straighforward
+
+- If you copy the same shell script from project to project
+- Pack it into a plugin instead
+- And make the yaml declarative
+- Plugins are Docker images with your script as an entrypoint
+
+```Dockerfile
+# Dockerfile
+FROM laszlocloud/kubectl
+COPY deploy /usr/local/deploy
+ENTRYPOINT ["/usr/local/deploy"]
+```
+
+```bash
+# deploy
+kubectl apply -f $PLUGIN_TEMPLATE
+```
+
+```yaml
+# .woodpecker.yml
+pipeline:
+ deploy-to-k8s:
+ image: laszlocloud/my-k8s-plugin
+ template: config/k8s/service.yml
+```
- mkdocs.yml # The configuration file.
- docs/
- index.md # The documentation homepage.
- ... # Other markdown pages, images and other files.
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
index 74650027a..7f33bf5b6 100644
--- a/docs/mkdocs.yml
+++ b/docs/mkdocs.yml
@@ -1,3 +1,9 @@
-site_name: My Docs
+site_name: Woodpecker
theme:
- name: 'material'
\ No newline at end of file
+ name: 'material'
+ logo: 'images/logo.svg'
+ favicon: 'images/favicon.svg'
+markdown_extensions:
+ - admonition
+ - codehilite:
+ linenums: true
\ No newline at end of file
diff --git a/docs/requirements.txt b/docs/requirements.txt
index ff88f2885..0fd03b048 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -1,19 +1,77 @@
+apache-libcloud==2.3.0
+asn1crypto==0.24.0
+awscli==1.16.89
backports-abc==0.5
+backports.functools-lru-cache==1.5
+backports.ssl-match-hostname==3.5.0.1
+beautifulsoup4==4.8.0
+boto==2.49.0
+botocore==1.12.79
+cachetools==2.0.1
+certifi==2018.4.16
+chardet==3.0.4
Click==7.0
-futures==3.3.0
+colorama==0.3.9
+crcmod==1.7
+cryptography==2.6.1
+docker-py==1.10.6
+docker-pycreds==0.2.2
+docutils==0.14
+enum34==1.1.6
+fluendo-eula==0.6
+futures==3.2.0
+google-api-core==1.2.1
+google-api-python-client==1.6.7
+google-auth==1.4.1
+google-auth-httplib2==0.0.3
+google-cloud-monitoring==0.29.0
+google-compute-engine==20190801.0
+googleapis-common-protos==1.5.3
+grpcio==1.12.1
+gWakeOnLan==0.5.1
+html5lib==1.0.1
htmlmin==0.1.12
+idna==2.6
+ipaddress==1.0.17
Jinja2==2.10.3
jsmin==2.2.2
livereload==2.6.1
+lxml==4.4.1
Markdown==3.1.1
MarkupSafe==1.1.1
mkdocs==1.0.4
mkdocs-material==4.4.3
mkdocs-minify-plugin==0.2.1
+numpy==1.16.2
+oauth2client==4.1.2
pep562==1.0
+protobuf==3.6.0
+pyasn1==0.4.2
+pyasn1-modules==0.2.1
+pycairo==1.16.2
+pydot==1.4.1
+pydot-ng==1.0.0
Pygments==2.4.2
pymdown-extensions==6.1
+pyOpenSSL==19.0.0
+pyparsing==2.2.0
+python-apt==1.9.0+ubuntu1
+python-dateutil==2.7.5
+python-distutils-extra==2.39
+pytz==2018.4
PyYAML==5.1.2
+requests==2.18.4
+rsa==3.4.2
+s3transfer==0.1.13
+scour==0.37
singledispatch==3.4.0.3
-six==1.13.0
+six==1.12.0
+soupsieve==1.9.2
tornado==5.1.1
+unity-lens-photos==1.0
+uritemplate==3.0.0
+urllib3==1.22
+vboxapi==1.0
+virtualenv==15.2.0
+webencodings==0.5.1
+websocket-client==0.47.0