{"id":26997637,"url":"https://github.com/grimmerk/gmail-pagination-extension","last_synced_at":"2026-05-15T20:31:37.532Z","repository":{"id":78676239,"uuid":"156095608","full_name":"grimmerk/gmail-pagination-extension","owner":"grimmerk","description":"Use slider or input field to do pagination. To use this extension, you need to uncheck the tabs other than primary (e.g. social, promotions) tab in the settings-\u003econfigure inbox in latest Gmail UI. See detailed user guide/notes/issues on wiki. https://chrome.google.com/webstore/detail/bcjhpmecgoejigiojamklcbfnfnfgnal","archived":false,"fork":false,"pushed_at":"2018-11-14T15:59:18.000Z","size":348,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-07-17T09:53:22.260Z","etag":null,"topics":["chrome-extension","content-script","create-react-app","material-ui"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grimmerk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-04T15:21:15.000Z","updated_at":"2021-04-28T17:22:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"da44b03a-748d-46b1-aaf3-f0644baa80c0","html_url":"https://github.com/grimmerk/gmail-pagination-extension","commit_stats":null,"previous_names":["grimmerk/gmail-pagination-extension","grimmer0125/gmail-pagination-extension"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/grimmerk/gmail-pagination-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grimmerk%2Fgmail-pagination-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grimmerk%2Fgmail-pagination-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grimmerk%2Fgmail-pagination-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grimmerk%2Fgmail-pagination-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grimmerk","download_url":"https://codeload.github.com/grimmerk/gmail-pagination-extension/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grimmerk%2Fgmail-pagination-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33078898,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome-extension","content-script","create-react-app","material-ui"],"created_at":"2025-04-04T02:18:54.126Z","updated_at":"2026-05-15T20:31:37.520Z","avatar_url":"https://github.com/grimmerk.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gmail Inbox pagination extension\n\n## Install locally to develop or test\n\nRef: https://developer.chrome.com/extensions/getstarted\n\nMake sure you have [`yarn`](https://yarnpkg.com/) installed first. \n\n1. `yarn install`.\n2. Open the Extension Management page by navigating to `chrome://extensions`.\n    - The Extension Management page can also be opened by clicking on the Chrome menu, hovering over `More Tools` then selecting `Extensions`.\n3. Enable Developer Mode by clicking the toggle switch next to Developer mode.\n4. Click the `LOAD UNPACKED` button and select the `build subfolder` in extension directory.\n\n## Usage\n\nCurrentPage/TotalPage for Inbox:\n\n![Screenshot](\nhttps://raw.githubusercontent.com/grimmerk/grimmerk.github.io/master/images/chrome-inbox-extension.png)\n\n## How to use create-react-app for Chrome extension's content script \n\nThis is a learning note to record the procedure. The code is already applied. \n\n1. Use [create-react-app](https://github.com/facebook/create-react-app) to create a React app. \n2. Use `yarn run eject` to generate editable webpack config files.\n3. Move `public/contentScript.js` to `src/content.js` and modify `manifest.json` as `\"js\": [\"/static/js/content.js\"]` \n4. Make the following changes in `webpack.config.prod.js`, no built index.js in build folder, building content.js \n    ```\n    // entry: [paths.appIndexJs],\n    entry: {\n        // main: [paths.appIndexJs], // unused by content script, dummy \n        content: ['./src/content.js'], \n    },    \n    filename: 'static/js/[name].js',\n    runtimeChunk: false,\n    // splitChunks: {\n    //   chunks: 'all',\n    //   name: false,\n    // }\n    ```\n5. (optional) prevent ESlint from stoping build for convenient debugging, in `webpack.config.prod` \n    ```\n    eslintPath: require.resolve('eslint'),\n    emitWarning: true, // add this line\n    ```\n6. (optional) remove unused built service-worker.js, in `webpack.config.prod`\n    ```\n    // const WorkboxWebpackPlugin = require('workbox-webpack-plugin');\n    // new WorkboxWebpackPlugin.GenerateSW({\n    //   clientsClaim: true,\n    //   exclude: [/\\.map$/, /asset-manifest\\.json$/],\n    //   importWorkboxFrom: 'cdn',\n    //   navigateFallback: `${publicUrl}/index.html`,\n    //   navigateFallbackBlacklist: [\n    //     // Exclude URLs starting with /_, as they're likely an API call\n    //     new RegExp('^/_'),\n    //     // Exclude URLs containing a dot, as they're likely a resource in\n    //     // public/ and not a SPA route\n    //     new RegExp('/[^/]+\\\\.[^/]+$'),\n    //   ],\n    // }),\n    ```\n7. (optional) remove unused built html file, ref: https://github.com/jantimon/html-webpack-plugin#generating-multiple-html-files, in `webpack.config.prod`\n    ```\n    // new HtmlWebpackPlugin({\n    //   inject: true,\n    //   template: paths.appHtml,\n    //   minify: {\n    //     removeComments: true,\n    //     collapseWhitespace: true,\n    //     removeRedundantAttributes: true,\n    //     useShortDoctype: true,\n    //     removeEmptyAttributes: true,\n    //     removeStyleLinkTypeAttributes: true,\n    //     keepClosingSlash: true,\n    //     minifyJS: true,\n    //     minifyCSS: true,\n    //     minifyURLs: true,\n    //   },\n    // }),    \n    ```\n8. (optinal) Although index.html and index.js are not built but they are required to pass the check of building process. To remove this restriction,  set `/config/path.js` as \n    ```\n    appHtml: resolveApp(''),\n    appIndexJs: resolveApp(''),\n    ```\n\nThen just `yarn build` and Chrome extension manager can load the build folder \n\n### use compiled css in content script \n\nIf you want to use compiled css (e.g. `import './content.css';` in `content.js`) , you need to set `\"css\": [\"/static/css/content.css\"]` in `Chrome manifest.json`. Also, you need to do the following change in `webpack.config.prod.js`, \n\n    ```\n    new MiniCssExtractPlugin({\n        filename: 'static/css/[name].css', // 'static/css/[name].[contenthash:8].css'\n    ```\n## Acknowledgement\n\nThe slider part of the icon is made by [Freepik](https://www.freepik.com) from [Flaticon](https://www.flaticon.com/) is licensed by [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/)\n\nThe email part of the icon is from https://iconmonstr.com/?s2member_file_download_key=f8dba490cb0d42b3e07309f0fcc38735\u0026s2member_file_download=2012/svg/iconmonstr-email-2.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrimmerk%2Fgmail-pagination-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrimmerk%2Fgmail-pagination-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrimmerk%2Fgmail-pagination-extension/lists"}