├── .env.example ├── .github └── workflows │ └── github_release.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── eslint.config.mjs ├── index.html ├── netlify.toml ├── package-lock.json ├── package.json ├── public ├── assets │ ├── dot.svg │ ├── icons │ │ ├── android-icon-144x144.png │ │ ├── android-icon-192x192.png │ │ ├── android-icon-36x36.png │ │ ├── android-icon-48x48.png │ │ ├── android-icon-72x72.png │ │ ├── android-icon-96x96.png │ │ ├── apple-icon-114x114.png │ │ ├── apple-icon-120x120.png │ │ ├── apple-icon-144x144.png │ │ ├── apple-icon-152x152.png │ │ ├── apple-icon-180x180.png │ │ ├── apple-icon-57x57.png │ │ ├── apple-icon-60x60.png │ │ ├── apple-icon-72x72.png │ │ ├── apple-icon-76x76.png │ │ ├── apple-icon-precomposed.png │ │ ├── apple-icon.png │ │ ├── favicon-144x144.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon-96x96.png │ │ ├── favicon.ico │ │ ├── ms-icon-144x144.png │ │ ├── ms-icon-150x150.png │ │ ├── ms-icon-310x310.png │ │ ├── ms-icon-70x70.png │ │ └── safari-pinned-tab.svg │ ├── image-192.png │ ├── logo.svg │ ├── note-192.png │ └── screenshots │ │ ├── book.jpg │ │ ├── main.jpg │ │ ├── movie.jpg │ │ ├── share.jpg │ │ └── text.jpg ├── browserconfig.xml ├── favicon.ico ├── manifest.json └── sw.js ├── src ├── functions │ ├── discover.js │ ├── lib │ │ └── utils.js │ ├── media.js │ ├── micropub.js │ ├── odesli.js │ ├── opengraph.js │ ├── providers │ │ ├── books │ │ │ ├── googleBooks.js │ │ │ ├── inventaire.js │ │ │ └── openLibrary.js │ │ ├── games │ │ │ └── giantBomb.js │ │ ├── movies │ │ │ └── tmdb.js │ │ └── music │ │ │ └── appleMusic.js │ ├── redirect.js │ ├── search.js │ └── token.js ├── js │ ├── Components │ │ ├── Alert.js │ │ ├── Box │ │ │ └── index.js │ │ ├── Footer.js │ │ ├── Gallery.js │ │ ├── Header.js │ │ ├── Modal │ │ │ └── index.js │ │ ├── Rating.js │ │ └── Tile.js │ ├── Controllers │ │ ├── Helpers.js │ │ └── Proxy.js │ ├── Editors │ │ ├── AdvancedOptions.js │ │ ├── EditorTypes.js │ │ ├── EntryPreview.js │ │ ├── ImageEditor.js │ │ ├── MediaEditor.js │ │ ├── SyndicateToOptions.js │ │ ├── Tiles.js │ │ └── index.js │ ├── Layouts │ │ ├── AuthLayout.js │ │ ├── DefaultLayout.js │ │ └── NoAuthLayout.js │ ├── Models │ │ ├── FormCache.js │ │ └── Store.js │ ├── Pages │ │ ├── AboutPage.js │ │ ├── CallbackPage.js │ │ ├── HomePage.js │ │ ├── LoginPage.js │ │ ├── LogoutPage.js │ │ ├── SettingsPage.js │ │ ├── SharePage.js │ │ └── SuccessPage.js │ ├── app.js │ └── utils │ │ ├── crypt.js │ │ └── index.js └── scss │ ├── _alert.scss │ ├── _base.scss │ ├── _constants.scss │ ├── _helpers.scss │ ├── _mixin.scss │ ├── _modal.scss │ ├── _rating.scss │ ├── _ui.scss │ └── main.scss └── test └── discover.js /.env.example: -------------------------------------------------------------------------------- 1 | TMDB_API_KEY="1234abcd" 2 | GIANTBOMB_API_KEY="wxyz7890" 3 | GOOGLEBOOKS_API_KEY="8675309" -------------------------------------------------------------------------------- /.github/workflows/github_release.yml: -------------------------------------------------------------------------------- 1 | name: Create GitHub Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*" 7 | 8 | jobs: 9 | create-release: 10 | runs-on: ubuntu-latest 11 | 12 | permissions: 13 | contents: write 14 | 15 | steps: 16 | - name: Checkout Code 17 | uses: actions/checkout@v4 18 | 19 | - name: Create GitHub Release with Auto-Generated Notes 20 | uses: ncipollo/release-action@v1 21 | with: 22 | token: ${{ secrets.GITHUB_TOKEN }} 23 | tag: ${{ github.ref_name }} 24 | name: ${{ github.ref_name }} 25 | # bodyFile: changelog/${{ github.ref_name }}.md 26 | generateReleaseNotes: true -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | .netlify 3 | build 4 | dist 5 | node_modules -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 0.11.1 4 | _released `2024-09-11`_ 5 | * Use `editions` to get a valid cover image from openlibrary 6 | 7 | ## 0.11.0 8 | _released `2024-09-04`_ 9 | * Add additional fields for `Photo`, `Bookmark`, and `Like` posts 10 | * Add ability to prefill `title` fields for `Like` and `Bookmark` posts using [Open Graph Metadata](https://ogp.me/) 11 | * Add [mp-slug](https://indieweb.org/Micropub-extensions#Slug) property in "Advanced" 12 | 13 | ## 0.10.3 14 | _released `2024-08-27`_ 15 | * Fix openlibrary cover images 16 | * Cache form data in PhotoEditor 17 | 18 | ## 0.10.0 19 | _released `2024-06-05`_ 20 | * Switch to [The Movie DB API](https://developer.themoviedb.org/) 21 | * Fix issue with dropdown in Listen search 22 | * Fix pagination size 23 | 24 | ## 0.9.0 25 | _released `2024-05-29`_ 26 | * Add "blocky" theme 27 | * Switch from [Last.fm](https://www.last.fm/api) to [iTunes search](https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/iTuneSearchAPI/Searching.html#//apple_ref/doc/uid/TP40017632-CH5-SW1) 28 | * Get [odesli](https://odesli.co/) URL for albums and songs 29 | * Add advanced options to all editors 30 | 31 | ## 0.8.0 32 | _released `2024-01-14`_ 33 | * Photo editor added 34 | * `syndicate-to` added everywhere 35 | 36 | ## 0.7.1 37 | _released `2023-12-16`_ 38 | * Updated documentation 39 | * Added `DEV` mode for local testing 40 | 41 | ## 0.7.0 42 | _released `2023-12-08`_ 43 | * Support for music `listen`s and video game `play`s added 44 | 45 | ## 0.6.2 46 | _released `2023-11-25`_ 47 | * Fix share params for editors 48 | * Add redirects for netlify functions for the future 49 | 50 | ## 0.6.1 51 | _released `2023-11-18`_ 52 | * Load `post-types` from config 53 | * Use value of `post-types` to show editor options 54 | 55 | ## 0.5.0 56 | _released `2023-07-08`_ 57 | * Book and Movie editor improvements 58 | * Addressing some compatibility issues with indiekit 59 | 60 | ## 0.4.0 61 | _released `2023-06-27`_ 62 | * Fix `issuer` 63 | 64 | ## 0.3.0 65 | _released `2023-03-09`_ 66 | * Movie pagination 67 | * Style changes for Movie and Book search results 68 | 69 | ## 0.2.0 70 | _released `2023-01-23`_ 71 | * Add Books option using openlibrary.org for search 72 | * Update `watch-of` properties 73 | 74 | ## 0.1.7 75 | _released `2023-01-09`_ 76 | * Update `h-entry` for watched posts 77 | 78 | ## 0.1.6 79 | _released `2023-01-06`_ 80 | * Fix: handle plain and S256 code challenge method 81 | * Add `post-status` 82 | * Add `visibility` 83 | 84 | ## 0.1.5 85 | _released `2023-01-06`_ 86 | * Remove `media-endpoint?q=config`. Not part of [spec](https://micropub.spec.indieweb.org/#media-endpoint) 87 | * Show more information related to usage for `q=source` 88 | * Fix dark mode style for `