1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Updating Readme

This commit is contained in:
Laurent Cozic 2017-11-17 19:05:12 +00:00
parent 409f2ca98d
commit 9e77f01088
5 changed files with 130 additions and 13 deletions

Binary file not shown.

View File

@ -0,0 +1,69 @@
'use strict';
const fs = require('fs-extra');
const https = require('https');
const request = require('request');
const url = 'https://api.github.com/repos/laurent22/joplin/releases/latest';
const readmePath = __dirname + '/../../README.md';
async function gitHubLatestRelease() {
return new Promise((resolve, reject) => {
request.get({
url: url,
json: true,
headers: {'User-Agent': 'Joplin Readme Updater'}
}, (error, response, data) => {
if (error) {
reject(error);
} else if (response.statusCode !== 200) {
reject(new Error('Error HTTP ' + response.statusCode));
} else {
resolve(data);
}
});
});
}
function downloadUrl(release, os) {
if (!release || !release.assets || !release.assets.length) return null;
for (let i = 0; i < release.assets.length; i++) {
const asset = release.assets[i];
const name = asset.name;
if (name.indexOf('.dmg') > 0 && os === 'macos') return asset.browser_download_url;
if (name.indexOf('.exe') > 0 && os === 'windows') return asset.browser_download_url;
if (name.indexOf('.AppImage') > 0 && os === 'linux') return asset.browser_download_url;
}
}
function readmeContent() {
if (!fs.existsSync(readmePath)) throw new Error('Cannot find ' + readmePath);
return fs.readFileSync(readmePath, 'utf8');
}
function setReadmeContent(content) {
if (!fs.existsSync(readmePath)) throw new Error('Cannot find ' + readmePath);
return fs.writeFileSync(readmePath, content);
}
async function main() {
const release = await gitHubLatestRelease();
const winUrl = downloadUrl(release, 'windows');
const macOsUrl = downloadUrl(release, 'macos');
const linuxUrl = downloadUrl(release, 'linux');
let content = readmeContent();
if (winUrl) content = content.replace(/(\(https:\/\/github.com\/laurent22\/joplin\/releases\/download\/.*?\.exe\))/, '(' + winUrl + ')');
if (macOsUrl) content = content.replace(/(\(https:\/\/github.com\/laurent22\/joplin\/releases\/download\/.*?\.dmg\))/, '(' + macOsUrl + ')');
if (linuxUrl) content = content.replace(/(\(https:\/\/github.com\/laurent22\/joplin\/releases\/download\/.*?\.AppImage\))/, '(' + linuxUrl + ')');
setReadmeContent(content);
}
main().catch((error) => {
console.error('Fatal error', error);
});

View File

@ -0,0 +1,47 @@
'use strict';
const fs = require('fs-extra');
const https = require('https');
const request = require('request');
const url = 'https://api.github.com/repos/laurent22/joplin/releases/latest';
async function gitHubLatestRelease() {
return new Promise((resolve, reject) => {
request.get({
url: url,
json: true,
headers: {'User-Agent': 'Joplin Readme Updater'}
}, (error, response, data) => {
if (err) {
reject(error);
} else if (response.statusCode !== 200) {
reject(new Error('Error HTTP ' + response.statusCode));
} else {
resolve(data);
}
});
});
}
function downloadUrl(release, os) {
if (!release || !release.assets || !release.assets.length) return null;
for (let i = 0; i < release.assets.length; i++) {
const asset = release.assets[i];
const name = asset.name;
if (name.indexOf('.dmg') > 0 && os === 'macos') return asset.browser_download_url;
}
}
async function main() {
const release = await gitHubLatestRelease();
console.info(downloadUrl(release, 'windows'));
console.info(downloadUrl(release, 'macos'));
console.info(downloadUrl(release, 'linux'));
}
main().catch((error) => {
console.error('Fatal error', error);
});

View File

@ -8,25 +8,26 @@ The notes can be [synchronised](#synchronisation) with various targets including
Joplin is still under development but is out of Beta and should be suitable for every day use. The UI of the terminal client is built on top of the great [terminal-kit](https://github.com/cronvel/terminal-kit) library, and the Android client front end is done using [React Native](https://facebook.github.io/react-native/). Joplin is still under development but is out of Beta and should be suitable for every day use. The UI of the terminal client is built on top of the great [terminal-kit](https://github.com/cronvel/terminal-kit) library, and the Android client front end is done using [React Native](https://facebook.github.io/react-native/).
**SCREENSHOT OF THREE CLIENTS SIDE BY SIDE** <img src="https://raw.githubusercontent.com/laurent22/joplin/master/docs/images/AllClients.jpg" width="100%">
<img src="https://raw.githubusercontent.com/laurent22/joplin/master/docs/images/ScreenshotTerminal.png" width="100%">
<img src="https://raw.githubusercontent.com/laurent22/joplin/master/docs/images/Phone.png">
# Installation # Installation
Three types of applications are available: **desktop** (Windows, macOS and Linux), **mobile** (Android and iOS) or for **terminal** emulator (Windows, macOS and Linux). All applications have similar user interfaces and can synchronise with each others. Three types of applications are available: **desktop** (Windows, macOS and Linux), **mobile** (Android) or for **terminal** emulator (Windows, macOS and Linux). All applications have similar user interfaces and can synchronise with each others.
## Desktop applications ## Desktop applications
* Download Joplin for Windows Operating system | Link
* Download Joplin for macOS -----------------|--------
* Download Joplin for Linux Windows | [Download Joplin for Windows](https://github.com/laurent22/joplin/releases/download/v0.10.20/Joplin-Setup-0.10.20.exe)
macOS | [Download Joplin for macOS](https://github.com/laurent22/joplin/releases/download/v0.10.20/Joplin-0.10.20.dmg)
Linux | [Download Joplin for Linux](https://github.com/laurent22/joplin/releases/download/v0.10.20/Joplin-0.10.20-x86_64.AppImage)
## Mobile applications ## Mobile applications
* Get Android app - <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="60px" src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'/></a> Operating system | Link
* Get iOS app -----------------|--------
Android | <a href='https://play.google.com/store/apps/details?id=net.cozic.joplin&utm_source=GitHub&utm_campaign=README&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' height="60px" src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'/></a>
iOS | Coming soon!
## Terminal application ## Terminal application
@ -36,7 +37,7 @@ On macOS, Linux or Windows (via [WSL](https://msdn.microsoft.com/en-us/commandli
To start it, type `joplin`. To start it, type `joplin`.
For usage information, please see the full [Joplin Terminal Application Documentation](http://joplin.cozic.net/terminal). For usage information, please refer to the full [Joplin Terminal Application Documentation](http://joplin.cozic.net/terminal).
# Features # Features
@ -47,10 +48,10 @@ For usage information, please see the full [Joplin Terminal Application Document
- Synchronises to a plain text format, which can be easily manipulated, backed up, or exported to a different format. - Synchronises to a plain text format, which can be easily manipulated, backed up, or exported to a different format.
- Plain text notes, which are rendered as markdown in the mobile and desktop application. - Plain text notes, which are rendered as markdown in the mobile and desktop application.
- Tag support - Tag support
- File attachment support (images are displayed and other files are linked and can be opened in the relevant application). - File attachment support (images are displayed, and other files are linked and can be opened in the relevant application).
- Search functionality. - Search functionality.
- Geo-location support. - Geo-location support.
- Supports multiple languages (Currently English and French). - Supports multiple languages
# Importing notes from Evernote # Importing notes from Evernote

BIN
docs/images/AllClients.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB