One-shot publishing app for Markdown text to GitHub Pages from Android and desktop. Paste Markdown and click Publish.
- Preview & edit syntax-highlighted Markdown before hitting Publish.
- Linked local files are uploaded as well.
- Already published pages are on the sidebar - click to view & edit.
- Settings are on the bottom bar - slide up to see all.
- New pages can be listed on index page under header specified in settings.
- Switch between two different GitHub Pages setups.
- Browse and copy links to published pages.
Note: GitHub Pages website may take a minute to get your changes ready to view.
Pages sync with GitHub as soon as a page is viewed. Content out of sync (loading or error) is crossed out.
Get source code for all target platforms below:
git clone https://github.com/alex-vt/GH-Page-Publisher.git
cd GH-Page-Publisher
Requirements: Java, Android SDK
Signing setup:
- Put your
keystore.jks
to the project's root folder for signing the app. - Create a
signing.properties
in the project's root folder withkeystore.jks
credentials:
signingStoreLocation=../keystore.jks
signingStorePassword=<keystore.jks password>
signingKeyAlias=<keystore.jks alias>
signingKeyPassword=<keystore.jks key password>
./gradlew installRelease
./gradlew assembleRelease
Install build/outputs/apk/release/GH-Page-Publisher-release.apk
on Android device.
On first run, the app will request enabling all files access, for locating and uploading files linked from new pages when they are published.
Requirements: Java
./gradlew run
./gradlew createDistributable
Folder with the app will be build/compose/binaries/main/app/GH-Page-Publisher
To run the app, in the app folder execute bin/GH-Page-Publisher
When started for the first time, the app needs info where to publish to. Slide up the bottom bar for the settings forms about your GitHub Pages to fill in. See example.
An alternative profile with its own separate settings can be made, there is a switch for it on the bottom bar.
Build system: Gradle
Stack: Kotlin, Jetpack Compose Multiplatform
Target platforms: Android, Desktop
MIT license.