[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2938":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":16,"starSnapshotCount":16,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},2938,"nprogress","rstacruz\u002Fnprogress","rstacruz","For slim progress bars like on YouTube, Medium, etc","http:\u002F\u002Fricostacruz.com\u002Fnprogress",null,"JavaScript",26409,1774,399,104,0,1,6,44.75,"MIT License",false,"master",true,[],"2026-06-12 02:00:45","NProgress\n=========\n\n[![Status](https:\u002F\u002Fapi.travis-ci.org\u002Frstacruz\u002Fnprogress.svg?branch=master)](http:\u002F\u002Ftravis-ci.org\u002Frstacruz\u002Fnprogress) \n[![npm version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnprogress.png)](https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fnprogress \"View this project on npm\")\n[![jsDelivr Hits](https:\u002F\u002Fdata.jsdelivr.com\u002Fv1\u002Fpackage\u002Fnpm\u002Fnprogress\u002Fbadge?style=rounded)](https:\u002F\u002Fwww.jsdelivr.com\u002Fpackage\u002Fnpm\u002Fnprogress)\n\n> Minimalist progress bar\n\nSlim progress bars for Ajax'y applications. Inspired by Google, YouTube, and\nMedium.\n\nInstallation\n------------\n\nAdd [nprogress.js] and [nprogress.css] to your project.\n\n```html\n\u003Cscript src='nprogress.js'>\u003C\u002Fscript>\n\u003Clink rel='stylesheet' href='nprogress.css'\u002F>\n```\n\nNProgress is available via [bower] and [npm].\n\n    $ npm install --save nprogress\n\nAlso available via [unpkg] CDN:\n\n- https:\u002F\u002Funpkg.com\u002Fnprogress@0.2.0\u002Fnprogress.js\n- https:\u002F\u002Funpkg.com\u002Fnprogress@0.2.0\u002Fnprogress.css\n\n[bower]: http:\u002F\u002Fbower.io\u002Fsearch\u002F?q=nprogress\n[npm]: https:\u002F\u002Fwww.npmjs.org\u002Fpackage\u002Fnprogress\n[unpkg]: https:\u002F\u002Funpkg.com\u002F\n\nBasic usage\n-----------\n\nSimply call `start()` and `done()` to control the progress bar.\n\n~~~ js\nNProgress.start();\nNProgress.done();\n~~~\n\n### Turbolinks (version 5+)\nEnsure you're using Turbolinks 5+, and use \nthis: (explained [here](https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fissues\u002F8#issuecomment-239107109))\n\n~~~ js\n$(document).on('turbolinks:click', function() {\n  NProgress.start();\n});\n$(document).on('turbolinks:render', function() {\n  NProgress.done();\n  NProgress.remove();\n});\n~~~\n\n### Turbolinks (version 3 and below)\nEnsure you're using Turbolinks 1.3.0+, and use \nthis: (explained [here](https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fissues\u002F8#issuecomment-23010560))\n\n~~~ js\n$(document).on('page:fetch',   function() { NProgress.start(); });\n$(document).on('page:change',  function() { NProgress.done(); });\n$(document).on('page:restore', function() { NProgress.remove(); });\n~~~\n\n### Pjax\nTry this: (explained [here](https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fissues\u002F22#issuecomment-36540472))\n\n~~~ js\n$(document).on('pjax:start', function() { NProgress.start(); });\n$(document).on('pjax:end',   function() { NProgress.done();  });\n~~~\n\nIdeas\n-----\n\n * Add progress to your Ajax calls! Bind it to the jQuery `ajaxStart` and\n `ajaxStop` events.\n\n * Make a fancy loading bar even without Turbolinks\u002FPjax! Bind it to\n `$(document).ready` and `$(window).load`.\n\nAdvanced usage\n--------------\n\n__Percentages:__ To set a progress percentage, call `.set(n)`, where *n* is a\nnumber between `0..1`.\n\n~~~ js\nNProgress.set(0.0);     \u002F\u002F Sorta same as .start()\nNProgress.set(0.4);\nNProgress.set(1.0);     \u002F\u002F Sorta same as .done()\n~~~\n\n__Incrementing:__ To increment the progress bar, just use `.inc()`. This\nincrements it with a random amount. This will never get to 100%: use it for\nevery image load (or similar).\n\n~~~ js\nNProgress.inc();\n~~~\n\nIf you want to increment by a specific value, you can pass that as a parameter:\n\n~~~ js\nNProgress.inc(0.2);    \u002F\u002F This will get the current status value and adds 0.2 until status is 0.994\n~~~\n\n__Force-done:__ By passing `true` to `done()`, it will show the progress bar\neven if it's not being shown. (The default behavior is that *.done()* will not\n    do anything if *.start()* isn't called)\n\n~~~ js\nNProgress.done(true);\n~~~\n\n__Get the status value:__ To get the status value, use `.status`\n\nConfiguration\n-------------\n\n#### `minimum`\nChanges the minimum percentage used upon starting. (default: `0.08`)\n\n~~~ js\nNProgress.configure({ minimum: 0.1 });\n~~~\n\n#### `template`\nYou can change the markup using `template`. To keep the progress\nbar working, keep an element with `role='bar'` in there. See the [default template]\nfor reference.\n\n~~~ js\nNProgress.configure({\n  template: \"\u003Cdiv class='....'>...\u003C\u002Fdiv>\"\n});\n~~~\n\n#### `easing` and `speed`\nAdjust animation settings using *easing* (a CSS easing string)\nand *speed* (in ms). (default: `ease` and `200`)\n\n~~~ js\nNProgress.configure({ easing: 'ease', speed: 500 });\n~~~\n\n#### `trickle`\nTurn off the automatic incrementing behavior by setting this to `false`. (default: `true`)\n\n~~~ js\nNProgress.configure({ trickle: false });\n~~~\n\n#### `trickleSpeed`\nAdjust how often to trickle\u002Fincrement, in ms.\n\n~~~ js\nNProgress.configure({ trickleSpeed: 200 });\n~~~\n\n#### `showSpinner`\nTurn off loading spinner by setting it to false. (default: `true`)\n\n~~~ js\nNProgress.configure({ showSpinner: false });\n~~~\n\n#### `parent`\nspecify this to change the parent container. (default: `body`)\n\n~~~ js\nNProgress.configure({ parent: '#container' });\n~~~\n\nCustomization\n-------------\n\nJust edit `nprogress.css` to your liking. Tip: you probably only want to find\nand replace occurrences of `#29d`.\n\nThe included CSS file is pretty minimal... in fact, feel free to scrap it and\nmake your own!\n\nResources\n---------\n\n * [New UI Pattern: Website Loading Bars](http:\u002F\u002Fwww.usabilitypost.com\u002F2013\u002F08\u002F19\u002Fnew-ui-pattern-website-loading-bars\u002F) (usabilitypost.com)\n\nSupport\n-------\n\n__Bugs and requests__: submit them through the project's issues tracker.\u003Cbr>\n[![Issues](http:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Frstacruz\u002Fnprogress.svg)]( https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fissues )\n\n__Questions__: ask them at StackOverflow with the tag *nprogress*.\u003Cbr>\n[![StackOverflow](http:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstackoverflow-nprogress-brightgreen.svg)]( http:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fnprogress )\n\n__Chat__: join us at gitter.im.\u003Cbr>\n[![Chat](http:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fgitter-rstacruz\u002Fnprogress-brightgreen.svg)]( https:\u002F\u002Fgitter.im\u002Frstacruz\u002Fnprogress )\n\n[default template]: https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fblob\u002Fmaster\u002Fnprogress.js#L31\n[Turbolinks]: https:\u002F\u002Fgithub.com\u002Frails\u002Fturbolinks\n[nprogress.js]: http:\u002F\u002Fricostacruz.com\u002Fnprogress\u002Fnprogress.js\n[nprogress.css]: http:\u002F\u002Fricostacruz.com\u002Fnprogress\u002Fnprogress.css\n\nThanks\n------\n\n**NProgress** © 2013-2017, Rico Sta. Cruz. Released under the [MIT License].\u003Cbr>\nAuthored and maintained by Rico Sta. Cruz with help from [contributors].\n\n> [ricostacruz.com](http:\u002F\u002Fricostacruz.com) &nbsp;&middot;&nbsp;\n> GitHub [@rstacruz](https:\u002F\u002Fgithub.com\u002Frstacruz) &nbsp;&middot;&nbsp;\n> Twitter [@rstacruz](https:\u002F\u002Ftwitter.com\u002Frstacruz)\n\n[MIT License]: http:\u002F\u002Fmit-license.org\u002F\n[contributors]: http:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress\u002Fcontributors\n\n[![](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Ffollowers\u002Frstacruz.svg?style=social&label=@rstacruz)](https:\u002F\u002Fgithub.com\u002Frstacruz) &nbsp;\n[![](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Frstacruz.svg?style=social&label=@rstacruz)](https:\u002F\u002Ftwitter.com\u002Frstacruz)\n","NProgress 是一个用于创建简洁进度条的JavaScript库，类似于YouTube、Medium等网站上的加载效果。其核心功能包括通过简单的API调用来控制进度条的状态（如开始、结束），支持设置具体的进度百分比以及增量更新进度，适用于各种需要展示页面加载或异步请求进度的应用场景。此外，NProgress还提供了对Turbolinks和Pjax的支持，使得在单页应用中也能平滑地显示加载状态。该库体积小巧，易于集成，适合于希望提升用户体验而不需要复杂配置的小型到中型Web项目。",2,"2026-06-11 02:51:47","top_language"]