# Clone Repository
$ git clone https://github.com/Teddy95/markotron.git my-project
# Go into root directory
$ cd my-project
# Install dependencies
$ npm install
# Compile & run App...
$ npm run build
$ npm run start
# ...or run App in dev mode
$ npm run dev- Electron 🔮
- Marko.js 🧩
- i18next internationalization 🌐
- Webpack 📦
- FontAwesome 🔣
- Electron Packager with configs for Mac OS, Linux & Windows 🍷
- Hot reloading after filechanges for both: main & renderer process 🔥
Happy Coding! ❤️✨
Components are written in marko.js. Add new components in the /app/renderer/components directory.
Write your stylesheets in CSS or SCSS and save them to /app/renderer/style and import them to style.scss. This stylesheet file will be compiled and included in your application.
All language variables are stored in /app/locales and can be accessed by a marko.js component. Markotron uses the i18next module.
// Simple language variable
<lang var="greeting" /> // -> Hello world!
// Language variable with value
<lang var="interpolatedGreeting" value={ name: 'Andre' } /> // -> Hello Andre!
// Language variables with singular and plural
<lang var="cats" value={ count: 1 } /> // -> One cat
<lang var="cats" value={ count: 2 } /> // -> 2 cats/app/libJavaScript modules / libraries/app/localesLocalization files/app/mainElectron main process/app/rendererElectron renderer process/app/renderer/assetsAssets like logos, images, icons, etc./app/renderer/componentsMarko components/app/renderer/styleCSS / SCSS Stylesheets/app/renderer/viewMarko.js views for the windows
/distApp compiled from/app
/buildTools for development and packaing
/releaseCompiled applications for Mac OS X, Windows and Linux
$ npm run start# Recompile app after file changes and reload contents in Electron
$ npm run devCompile application and generate /build directory.
$ npm run buildSet appBundleId, productName, version & author in package.json.
{
"appBundleId": "com.markotron.myapp",
"productName": "Markotron - Electron Boilerplate",
"version": "2.0.0",
"author": "Author"
}More configurations for packaging are in /config.js. See electron-packager configurations for more info.
# Packaging for Mac OS X
$ npm run package-mac
# Packaging for Linux
$ npm run package-linux
# Packaging for Windows
$ npm run package-windows
# ...or release it all at once
$ npm run release