1
0
mirror of https://github.com/rhysd/Mstdn.git synced 2024-11-28 20:24:10 +01:00

initial commit

This commit is contained in:
rhysd 2017-04-15 14:06:14 +09:00
commit c8e316dccf
4 changed files with 120 additions and 0 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
*.js.map
/main/**/*.js
/renderer/**/*.js
/node_modules
npm-debug.log
/dist
/app

48
README.md Normal file
View File

@ -0,0 +1,48 @@
Web-based Desktop Client for [Mastodon][]
=========================================
Features:
- Small window on your menubar (or isolated window)
- Desktop notification
- Customizable shortcut keybinds
- Multi-account
Mastodon is an open source project. So if you want to make a new UI, you can just fork the project,
implement your favorite UI and host it on your place. Then you can participate Mastodon networks from it.
However, Mastodon is a web application. So we can't go out from a browser. So this small tool
provides a way to do it.
## Installation
### Via [npm][]
```
$ npm install -g mstdn
$ open-mstdn-app
```
### As an isolated app
Download a package archive from [Release page][] (not yet), put unarchived app to proper place, and open it.
## Usage
To be written.
## Customization
Mstdn can be customized with JSON config file at `{app dir}/config.json`
The `{app dir}` is:
- `~/Library/Application\ Support/Mstdn` for macOS
- `~/.config/Mstdn` for Linux
- `%APPDATA%\Mstdn` for Windows.
## Multi account
[Mastodon]: https://github.com/tootsuite/mastodon
[npm]: https://www.npmjs.com/package/mstdn
[Release page]: https://github.com/rhysd/Mstdn

20
bin/cli.js Executable file
View File

@ -0,0 +1,20 @@
#! /usr/bin/env node
const child_process = require('child_process');
const path = require('path');
const electron = require('electron');
const args = [path.join(__dirname, '..')];
if (process.argv.indexOf('--version') >= 0) {
process.stdout.write(require('../package.json').version + '\n');
} else if (process.env.NODE_ENV === 'development' || process.argv.indexOf('--no-detach') !== -1) {
child_process.spawn(electron, args, {
stdio: 'inherit'
});
} else {
child_process.spawn(electron, args, {
stdio: 'ignore',
detached: true
}).unref();
}

45
package.json Normal file
View File

@ -0,0 +1,45 @@
{
"name": "mstdn",
"productName": "Mstdn",
"version": "0.0.0",
"description": "Tiny web-based mastodon client for your desktop",
"main": "main/index.js",
"bin": {
"open-mstdn-app": "./bin/cli.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/rhysd/Mstdn.git"
},
"keywords": [
"mastodon",
"desktop",
"client",
"electron"
],
"author": "rhysd <lin90162@yahoo.co.jp>",
"license": "MIT",
"bugs": {
"url": "https://github.com/rhysd/Mstdn/issues"
},
"homepage": "https://github.com/rhysd/Mstdn#readme",
"devDependencies": {
"@types/electron": "^1.4.35",
"@types/electron-window-state": "^2.0.28",
"@types/mousetrap": "^1.5.33",
"@types/node": "^7.0.12",
"electron-packager": "^8.6.0",
"npm-run-all": "^4.0.2",
"typescript": "^2.2.2"
},
"dependencies": {
"electron": "^1.6.2",
"electron-window-state": "^4.1.1",
"loglevel": "^1.4.1",
"menubar": "github:rhysd/menubar#rhysd-fixes",
"mousetrap": "^1.6.1"
}
}