mirror of
https://github.com/doocs/advanced-java.git
synced 2025-03-24 10:50:06 +08:00
docs(project): update config, add offer page
See https://doocs.github.io/advanced-java/#/offer
This commit is contained in:
parent
6bf5dde1ab
commit
488cb742ed
@ -6,4 +6,5 @@
|
||||
* 页面
|
||||
* [封面]()
|
||||
* [首页](README)
|
||||
* [GitHub](https://github.com/yanglbme)
|
||||
* [GitHub](https://github.com/yanglbme)
|
||||
* [Offer](offer)
|
31
index.html
31
index.html
@ -11,25 +11,42 @@
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png?v=5.1.4">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">Loading</div>
|
||||
<div id="app">Welcome to Advanced-Java</div>
|
||||
<script>
|
||||
window.$docsify = {
|
||||
name: 'advanced-java',
|
||||
repo: 'doocs/advanced-java',
|
||||
maxLevel: 3,
|
||||
auto2top: true,
|
||||
loadNavbar: true,
|
||||
coverpage: true,
|
||||
mergeNavbar: true,
|
||||
search: [
|
||||
'/', // => /README.md
|
||||
'/guide', // => /guide.md
|
||||
'/get-started', // => /get-started.md
|
||||
'/zh-cn/', // => /zh-cn/README.md
|
||||
'/solution/coding-interview',
|
||||
'/solution/the-beauty-of-programming'
|
||||
'/zh-cn/' // => /zh-cn/README.md
|
||||
],
|
||||
loadNavbar: true,
|
||||
coverpage: true,
|
||||
mergeNavbar: true
|
||||
plugins: [
|
||||
function (hook) {
|
||||
var footer = [
|
||||
'<hr/>',
|
||||
'<footer>',
|
||||
'<span>Copyright © 2018 <a href="https://github.com/yanglbme" target="_blank">yanglbme</a>. All rights reserved.</span>',
|
||||
'</footer>'
|
||||
].join('')
|
||||
|
||||
hook.afterEach(function (html) {
|
||||
return html + footer
|
||||
})
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
if (typeof navigator.serviceWorker !== 'undefined') {
|
||||
navigator.serviceWorker.register('sw.js')
|
||||
}
|
||||
|
||||
</script>
|
||||
<script src="//unpkg.com/docsify"></script>
|
||||
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
|
||||
|
92
offer.md
Normal file
92
offer.md
Normal file
@ -0,0 +1,92 @@
|
||||
<p align="center"><iframe frameborder="no" border="0" marginwidth="0" marginheight="0" width=330 height=86 src="//music.163.com/outchain/player?type=2&id=1321616516&auto=1&height=66"></iframe></p>
|
||||
|
||||
```
|
||||
每天起床第一句 先给自己打个气
|
||||
每次刷新查成绩 都要说声保佑me
|
||||
魔镜魔镜告诉我 我的offer在哪里
|
||||
努力 我要努力 我要变成收割机
|
||||
offer offer
|
||||
我要变成收割机
|
||||
offer offer
|
||||
|
||||
为了拿下BAT 天天提着一口气
|
||||
大厂小厂投简历 刷光面经笔试题
|
||||
天生我才难自弃 可惜面试都悲剧
|
||||
努力 我要努力 我要变成收割机
|
||||
Wow
|
||||
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
我的offer在哪里
|
||||
燃烧我的卡路里
|
||||
|
||||
拜拜 二次元 综艺直播动作片 言情玄幻宫斗剧
|
||||
拿走拿走别客气
|
||||
|
||||
拜拜 铂金一 戒掉农药戒吃鸡 通宵开黑玩游戏
|
||||
别再熬夜伤身体
|
||||
|
||||
来来 沉住气 专业课本重拾起 牛客网上刷真题
|
||||
保温杯里泡枸杞
|
||||
|
||||
来来 深呼吸 对照镜子做练习
|
||||
单面群面全模拟 不拿offer不放弃
|
||||
|
||||
为了拿下BAT 天天提着一口气
|
||||
大厂小厂投简历 刷光面经笔试题
|
||||
天生我才难自弃 可惜面试都悲剧
|
||||
努力 我要努力 我要变成收割机
|
||||
Wow
|
||||
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
在哪里在哪里在哪
|
||||
我的offer在哪里
|
||||
燃烧我的卡路里
|
||||
|
||||
拜拜 二次元 综艺直播动作片 言情玄幻宫斗剧
|
||||
拿走拿走别客气
|
||||
|
||||
拜拜 铂金一 戒掉农药戒吃鸡 通宵开黑玩游戏
|
||||
别再熬夜伤身体
|
||||
|
||||
来来 沉住气 专业课本重拾起 牛客网上刷真题
|
||||
保温杯里泡枸杞
|
||||
|
||||
来来 深呼吸 对照镜子做练习
|
||||
单面群面全模拟 不拿offer不放弃
|
||||
|
||||
奇了怪了 小的时候明明是妈妈说
|
||||
考上大学就好惹 没烦恼
|
||||
直到熟悉的大学的寝室都住不上了 原来毕了业
|
||||
没人要 才烦恼
|
||||
希望 offer
|
||||
钱是多哒
|
||||
HR
|
||||
超nice哒
|
||||
不如跟着节奏没在怕的 努努力
|
||||
别让校招季卡住你 卡住你
|
||||
不拿offer不放弃
|
||||
燃烧我的卡路里
|
||||
|
||||
拜拜 二次元 综艺直播动作片 言情玄幻宫斗剧
|
||||
拿走拿走别客气
|
||||
|
||||
拜拜 铂金一 戒掉农药戒吃鸡 通宵开黑玩游戏
|
||||
别再熬夜伤身体
|
||||
|
||||
来来 沉住气 专业课本重拾起 牛客网上刷真题
|
||||
保温杯里泡枸杞
|
||||
|
||||
来来 深呼吸 对照镜子做练习
|
||||
单面群面全模拟 不拿offer不放弃
|
||||
不放弃
|
||||
燃烧我的卡路里
|
||||
不放弃
|
||||
燃烧我的卡路里
|
||||
|
||||
我要变成收割机
|
||||
```
|
83
sw.js
Normal file
83
sw.js
Normal file
@ -0,0 +1,83 @@
|
||||
/* ===========================================================
|
||||
* docsify sw.js
|
||||
* ===========================================================
|
||||
* Copyright 2016 @huxpro
|
||||
* Licensed under Apache 2.0
|
||||
* Register service worker.
|
||||
* ========================================================== */
|
||||
|
||||
const RUNTIME = 'docsify'
|
||||
const HOSTNAME_WHITELIST = [
|
||||
self.location.hostname,
|
||||
'fonts.gstatic.com',
|
||||
'fonts.googleapis.com',
|
||||
'unpkg.com'
|
||||
]
|
||||
|
||||
// The Util Function to hack URLs of intercepted requests
|
||||
const getFixedUrl = (req) => {
|
||||
var now = Date.now()
|
||||
var url = new URL(req.url)
|
||||
|
||||
// 1. fixed http URL
|
||||
// Just keep syncing with location.protocol
|
||||
// fetch(httpURL) belongs to active mixed content.
|
||||
// And fetch(httpRequest) is not supported yet.
|
||||
url.protocol = self.location.protocol
|
||||
|
||||
// 2. add query for caching-busting.
|
||||
// Github Pages served with Cache-Control: max-age=600
|
||||
// max-age on mutable content is error-prone, with SW life of bugs can even extend.
|
||||
// Until cache mode of Fetch API landed, we have to workaround cache-busting with query string.
|
||||
// Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190
|
||||
if (url.hostname === self.location.hostname) {
|
||||
url.search += (url.search ? '&' : '?') + 'cache-bust=' + now
|
||||
}
|
||||
return url.href
|
||||
}
|
||||
|
||||
/**
|
||||
* @Lifecycle Activate
|
||||
* New one activated when old isnt being used.
|
||||
*
|
||||
* waitUntil(): activating ====> activated
|
||||
*/
|
||||
self.addEventListener('activate', event => {
|
||||
event.waitUntil(self.clients.claim())
|
||||
})
|
||||
|
||||
/**
|
||||
* @Functional Fetch
|
||||
* All network requests are being intercepted here.
|
||||
*
|
||||
* void respondWith(Promise<Response> r)
|
||||
*/
|
||||
self.addEventListener('fetch', event => {
|
||||
// Skip some of cross-origin requests, like those for Google Analytics.
|
||||
if (HOSTNAME_WHITELIST.indexOf(new URL(event.request.url).hostname) > -1) {
|
||||
// Stale-while-revalidate
|
||||
// similar to HTTP's stale-while-revalidate: https://www.mnot.net/blog/2007/12/12/stale
|
||||
// Upgrade from Jake's to Surma's: https://gist.github.com/surma/eb441223daaedf880801ad80006389f1
|
||||
const cached = caches.match(event.request)
|
||||
const fixedUrl = getFixedUrl(event.request)
|
||||
const fetched = fetch(fixedUrl, { cache: 'no-store' })
|
||||
const fetchedCopy = fetched.then(resp => resp.clone())
|
||||
|
||||
// Call respondWith() with whatever we get first.
|
||||
// If the fetch fails (e.g disconnected), wait for the cache.
|
||||
// If there’s nothing in cache, wait for the fetch.
|
||||
// If neither yields a response, return offline pages.
|
||||
event.respondWith(
|
||||
Promise.race([fetched.catch(_ => cached), cached])
|
||||
.then(resp => resp || fetched)
|
||||
.catch(_ => { /* eat any errors */ })
|
||||
)
|
||||
|
||||
// Update the cache with the version we fetched (only for ok status)
|
||||
event.waitUntil(
|
||||
Promise.all([fetchedCopy, caches.open(RUNTIME)])
|
||||
.then(([response, cache]) => response.ok && cache.put(event.request, response))
|
||||
.catch(_ => { /* eat any errors */ })
|
||||
)
|
||||
}
|
||||
})
|
Loading…
Reference in New Issue
Block a user