Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
### Submit a new Theme

1. Make sure you followed the guidelines for developing a new InvoicePlane theme. They can be found in the development guides.
2. Build your theme and commit the latest version of your themes' CSS. _Themes without CSS files will be rejected._
3. Submit a pull request that adds your theme to the repo. Make sure it is located in the correct folder and has a unique name.

---

#### Guidelines to develop new theme for InvoicePlane v1

See [v1/DEVELOPMENT.md](v1/DEVELOPMENT.md#guidelines-for-developing-a-theme) for further instructions.
51 changes: 20 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
![InvoicePlane](http://invoiceplane.com/content/logo/PNG/logo_300x150.png)
#### _Themes_
<img align="right" alt="InvoicePlane logo" src="https://github.com/InvoicePlane/InvoicePlane/blob/development/assets/core/img/favicon.png">

### _InvoicePlane Themes_

<div align="center">

_A libre self-hosted web application designed to help you manage invoices, clients, and payments efficiently._

InvoicePlane is a self-hosted open source application for managing your invoices, clients and payments.
For more information visit __[InvoicePlane.com](https://invoiceplane.com)__ or try the __[demo](https://demo.invoiceplane.com)__.

[![Contribute](https://img.shields.io/badge/How%20to%3A-Contribute-429ae1.svg)](CONTRIBUTING.md)
[![Wiki](https://img.shields.io/badge/Help%3A-Official%20Wiki-429ae1.svg)](https://wiki.invoiceplane.com/)
[![Community Forums](https://img.shields.io/badge/Help%3A-Community%20Forums-429ae1.svg)][community forums]
[![Roadmap](https://img.shields.io/badge/Development%3A-Roadmap-429ae1.svg)](https://community.invoiceplane.com/c/announcements/20)
[![Development chat](https://img.shields.io/badge/Development%3A-Chat-429ae1.svg)][development chat]
[![Issue Tracker](https://img.shields.io/badge/Development%3A-Issue%20Tracker-429ae1.svg)](https://github.com/InvoicePlane/InvoicePlane-Themes/issues)

</div>

---

### How to install a new Theme
Expand All @@ -27,32 +40,8 @@ Copy the folder of the theme you want to use into the `/assets` directory of you

---

### Develop new Themes

#### InvoicePlane 1

See [v1/DEVELOPMENT.md](v1/DEVELOPMENT.md) for further instructions.

---

### Submit a new Theme

1. Make sure you followed the guidelines for developing a new InvoicePlane theme. They can be found in the development guides.
2. Build your theme and commit the latest version of your themes' CSS. Themes without CSS files will be rejected.
3. Submit a pull request that adds your theme to the repo. Make sure it is located in the correct folder and has a unique name.

---

### Support / Development / Chat

[![Wiki](https://img.shields.io/badge/Help%3A-Official%20Wiki-429ae1.svg)](https://wiki.invoiceplane.com/)
[![Community Forums](https://img.shields.io/badge/Help%3A-Community%20Forums-429ae1.svg)](https://community.invoiceplane.com/)
[![Issue Tracker](https://img.shields.io/badge/Development%3A-Issue%20Tracker-429ae1.svg)](https://development.invoiceplane.com/)
[![Roadmap](https://img.shields.io/badge/Development%3A-Roadmap-429ae1.svg)](https://go.invoiceplane.com/roadmapv1)
[![Slack Chat](https://img.shields.io/badge/Development%3A-Slack%20Chat-429ae1.svg)](https://invoiceplane-slack.herokuapp.com/)
[![Contribution Guide](https://img.shields.io/badge/Development%3A-Contribution%20Guide-429ae1.svg)](CONTRIBUTING.md)

---

> _The name 'InvoicePlane' and the InvoicePlane logo are both copyright by Kovah.de and InvoicePlane.com
and their usage is restricted! For more information visit invoiceplane.com/license-copyright_
and their usage is restricted! For more information visit https://invoiceplane.com/license-copyright_

[community forums]: https://community.invoiceplane.com/c/templates/32
[development chat]: https://discord.gg/PPzD2hTrXt
70 changes: 42 additions & 28 deletions v1/DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Development Information for InvoicePlane v1 Themes

You want to develop a new theme for InvoicePlane? Awesome! This guide will help you to quickly create your own theme and publish it in the InvoicePlane Theme repository.
You want to develop a new theme for InvoicePlane? Awesome! This guide will help you to quickly create your own theme and publish it in the InvoicePlane Theme repository.

### Theme concept introduction

Expand All @@ -9,34 +9,34 @@ Themes do not override the standard theme but replace it. Themes use Sass as the
#### Theme structure

All themes use the same structure. First, the variables are imported. They are used by Bootstrap, the core styles and third-party plugins like Select2.

```scss
@import "ip_variables";
@import "variables";

```
After that all dependencies are imported. Bootstrap is imported by the core to make sure only needed components are loaded.

```scss
@import "../../core/scss/bootstrap";
@import "../../../node_modules/font-awesome/scss/font-awesome";
@import "includes/select2";
@import "../../../node_modules/dropzone/src/dropzone";
@import "../../core/scss/bootstrap-datepicker";

@import "../../../node_modules/font-awesome/scss/font-awesome";
@import "../../../node_modules/dropzone/dist/dropzone";
@import "../../../node_modules/select2/src/scss/core";
```
Last but no least the InvoicePlane core styles are loaded.

```scss
@import "../../core/scss/core";

```
#### Warning!
Do **not** change this structure and the imports, as missing styles may break the application completely! If you want to add any styles or override existing styles, add them **below the core import**. We will not support any broken themes that removed, replaced or changed any core files.

If you think the core should be changed, join the development chat or create a new topic in the community forums.
If you think the core should be changed, join the [development chat] or create a new topic in the [community forums].

---

### Development requirements

To build your own theme you need to fulfill the following requirements:

* Have Node.js and npm installed on your machine
* Have Node.js and npm installed on your machine
We do recommend using the latest stable version of Node.js and npm.
* Have `grunt-cli` installed globally for npm

Expand All @@ -54,22 +54,21 @@ A theme consists of many different files. All files are explained in this chapte
│ ├── reports.scss
│ ├── styles.scss
│ ├── templates.scss
│ └── welcome.scss
└── theme_indentifier.theme

#### theme_indentifier.theme
The `theme_indentifier.theme` file is the main file of your theme and absolutely needed for your theme to be accepted in the theme repository and to be selectable in the InvoicePlane settings. The file consists of various information about the theme:

| Setting | Description | Example Value |
| ----------------- | --------------------------------------------------------- | ------------------------------------- |
| ----------------- | --------------------------------------------------------- | ------------------------------------- |
| TITLE | The title that will show up in the InvoicePlane settings | `InvoicePlane Blue` |
| DESCRIPTION | Short description about the theme | `A more colorful InvoicePlane theme.` |
| VERSION | The version of your theme, should use semver | `InvoicePlane Blue` |
| AUTHOR | Your name, pseudonym or company name | `InvoicePlane Developers` |
| AUTHOR_WEBSITE | Your website, must start with http:// or https:// | `https://invoiceplane.com/` |
| LICENSE | The license for the theme | `MIT` |
| REQUIRES | Minimum version of InvoicePlane required for this theme | `1.5.0` |
| TESTED_WITH | Highest version of InvoicePlane the theme was tested with | `1.5.0` |
| REQUIRES | Minimum version of InvoicePlane required for this theme | `1.6.3` |
| TESTED_WITH | Highest version of InvoicePlane the theme was tested with | `1.6.3` |

The following information **must** be provided:

Expand Down Expand Up @@ -100,51 +99,66 @@ Contains the styles for the InvoicePlane application. As mentioned above: only a
Contains the styles that are used for PDF templates.

#### welcome.scss
A smaller version of styles.scss that is used for the welcome screen and the setup.
This is a smaller version of styles.scss that is used for the welcome screen and the setup

_Note: InvoicePlane use only the `InvoicePlane_default` theme when show setup or welcome page. **So there's no need to import/create it in your theme**._

#### `css` directory

The `css` directory contains the compiled stylesheets. You don't and shoudln't change any files in this directory manually.
> Note: Just run the `npm run build` (or `yarn build`) command in your terminal to create it.

---

### Guidelines for developing a theme

Before you start to work on your theme please read these guidelines as violating them may lead to a rejection for the theme repository.

* The theme identifier must not contain the string `invoiceplane` in any way. Only official themes like `invoiceplane_default` are allowed to use the string in its identifier. However, using `ip` is okay.
* Choose your identifier wisely. It should not be a very generic string like `material` or `metro`. Add you name, pseudonym or company name to the string like this: `john_doe_material` or `companyname_ip_metro`.
* The theme identifier must not contain the string `invoiceplane` in any way.
Only official themes like `invoiceplane_default` are allowed to use the string in its identifier. However, using `ip` is okay.
* Choose your identifier wisely. It should not be a very generic string like `material` or `metro`.
Add you name, pseudonym or company name to the string like this: `john_doe_material` or `companyname_ip_metro`.
* Make sure you provide detailed information about the theme and yourself in the .theme file.
* Do not use any vendor prefixes like `-moz-border-radius` as they are _automatically added_ in the compilation process.
* Please add at least 1 (one) screenshot of your theme with the name `screenshot.jpg` or `screenshot.png` to the theme root folder. The screenshot must show the dashboard. Feel free to add additional screenshots but please name them `screenshot_2.jpg`, `screenshot_3.jpg` and so on.
* Please add at least 1 (one) screenshot of your theme with the name `screenshot.jpg` or `screenshot.png` to the theme root folder.
The screenshot must show the dashboard. Feel free to add additional screenshots but please name them `screenshot_2.jpg`, `screenshot_3.jpg` and so on.

---

### Developing a new theme

The development of a theme is done directly within the InvoicePlane application. Please clone the repository to your machine or download the package from our website. After that, run the command `npm install` in the root directory of the InvoicePlane app. This will install all needed components to build the theme.
The development of a theme is done directly within the InvoicePlane application.
Please clone the repository to your machine or download the package from our website.
After that, run the command `npm install` in the root directory of the InvoicePlane app.
This will install all needed components to build the theme.

You may copy an existing theme (except the `core` folder) and modify it to match your needs. Starting from scratch is not recommended.

#### Using Grunt

Grunt is the task runner used for the theme compilation. There are two tasks available:

* `grunt dev`
* `grunt dev`
This command is used to develop a theme. It will automatically run an initial compilation and then start watching the theme files. If you change a theme file Grunt will automatically recompile the theme so you can continue working without interruptions. To cancel the watch process, use `ctrl` + `c`. The development command will not compress any CSS files to make debugging easier. Source maps are generated too.
* `grunt build`
* `grunt build`
The grunt build command is needed to prepare your theme styles for release. The command will compile all styles and compress them to save space. It will also delete any source maps as they are usually not needed in production environments.

#### Publishing your theme

We do recommend to add your theme to this theme repository. It will be and remain the main storage point for themes and may be integrated into the InvoicePlane website. To add your theme, read the corresponding section in the [main readme](/README.md).
We do recommend to add your theme to this theme repository.
It will be and remain the main storage point for themes and may be integrated into the InvoicePlane website.
To add your theme, read the corresponding section in the [main readme](/README.md).

After adding your theme to the repository, you may also promote it in the InvoicePlane community forums. We have a dedicated section for theme and template sharing.
After adding your theme to the repository, you may also promote it in the InvoicePlane community forums.
We have a dedicated section for theme and template sharing.

---

### Questions or need help?

[![Community Forums](https://img.shields.io/badge/Help%3A-Community%20Forums-429ae1.svg)](https://community.invoiceplane.com/)
[![Issue Tracker](https://img.shields.io/badge/Development%3A-Issue%20Tracker-429ae1.svg)](https://development.invoiceplane.com/)
[![Slack Chat](https://img.shields.io/badge/Development%3A-Slack%20Chat-429ae1.svg)](https://invoiceplane-slack.herokuapp.com/)
[![Community Forums](https://img.shields.io/badge/Help%3A-Community%20Forums-429ae1.svg)][community forums]
[![Issue Tracker](https://img.shields.io/badge/Development%3A-Issue%20Tracker-429ae1.svg)](https://github.com/InvoicePlane/InvoicePlane-Themes/issues)
[![Development chat](https://img.shields.io/badge/Development%3A-Chat-429ae1.svg)][development chat]

[community forums]: https://community.invoiceplane.com/
[development chat]: https://discord.gg/PPzD2hTrXt
66 changes: 65 additions & 1 deletion v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,77 @@
### Contents

* [IP Metro](#ip-metro)
* [IP Clouds](#ip-clouds)
* [IP Dark](#ip-dark)
* [IP Mandarin](#ip-mandarin)
* [IP Nord](#ip-nord)

---

#### IP Metro

<details><summary>Screenshot</summary>

![Screenshot](kvh_ip_metro/screenshot.png)

</details>

| Version | Author | Requires | Tested with |
| ------- | ------ | -------- | ----------- |
| 1.6.3 | [Kovah.de](https://kovah.de/) | 1.6.0 | 1.6.3 |

---

#### IP Clouds

<details><summary>Screenshot</summary>

![Screenshot](next_ip_clouds/screenshot.png)

</details>

| Version | Author | Requires | Tested with |
| ------- | ------ | -------- | ----------- |
| 1.6.3 | Verony | 1.6.0 | 1.6.3 |

---

#### IP Dark

<details><summary>Screenshot</summary>

![Screenshot](next_ip_dark/screenshot.png)

</details>

| Version | Author | Requires | Tested with |
| ------- | ------ | -------- | ----------- |
| 1.6.3 | Verony | 1.6.0 | 1.6.3 |

---

#### IP Mandarin

<details><summary>Screenshot</summary>

![Screenshot](next_ip_mandarin/screenshot.png)

</details>

| Version | Author | Requires | Tested with |
| ------- | ------ | -------- | ----------- |
| 1.6.3 | Verony | 1.6.0 | 1.6.3 |

---

#### IP Nord

<details><summary>Screenshot</summary>

![Screenshot](und_ip_nord/screenshot.png)

</details>

| Version | Author | Requires | Tested with |
| ------- | ------ | -------- | ----------- |
| 1.0.0 | [Kovah.de](https://kovah.de/) | 1.5.0 | 1.5.0 |
| 1.6.3 | [InvoicePlane](https://invoiceplane.com/) | 1.6.0 | 1.6.3 |
4 changes: 4 additions & 0 deletions v1/kvh_ip_metro/css/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*
!custom.css
!custom-pdf.css
!.gitignore
22 changes: 8 additions & 14 deletions v1/kvh_ip_metro/css/style.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion v1/kvh_ip_metro/css/templates.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions v1/kvh_ip_metro/css/welcome.css

This file was deleted.

Loading