{"id":19167156,"url":"https://github.com/dyweb/weekly","last_synced_at":"2025-07-25T21:33:42.456Z","repository":{"id":37623037,"uuid":"71736401","full_name":"dyweb/weekly","owner":"dyweb","description":"DevComm-Shanghai Weekly 上海地区高校技术社团联合周报（欢迎投稿）","archived":false,"fork":false,"pushed_at":"2025-07-20T07:10:11.000Z","size":3406,"stargazers_count":65,"open_issues_count":5,"forks_count":5,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-07-20T08:32:55.939Z","etag":null,"topics":["backend","frontend","newsletter","website","weekly"],"latest_commit_sha":null,"homepage":"https://dyweb-weekly.netlify.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dyweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2016-10-23T23:42:50.000Z","updated_at":"2025-07-20T07:10:13.000Z","dependencies_parsed_at":"2024-02-08T04:22:03.257Z","dependency_job_id":"e02f7bca-524a-450d-bedd-42656dafe11d","html_url":"https://github.com/dyweb/weekly","commit_stats":{"total_commits":284,"total_committers":17,"mean_commits":"16.705882352941178","dds":0.7992957746478873,"last_synced_commit":"916f726960057f320f22f83d6983f59864c41969"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dyweb/weekly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyweb%2Fweekly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyweb%2Fweekly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyweb%2Fweekly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyweb%2Fweekly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dyweb","download_url":"https://codeload.github.com/dyweb/weekly/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dyweb%2Fweekly/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267065454,"owners_count":24030385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["backend","frontend","newsletter","website","weekly"],"created_at":"2024-11-09T09:36:00.560Z","updated_at":"2025-07-25T21:33:42.422Z","avatar_url":"https://github.com/dyweb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 周报\n\n## 投稿方式\n\n### GitHub Issue\n\n前往[带有 working 标签的 issue](https://github.com/dyweb/weekly/labels/working) 中，分享你看到的有趣/有价值的项目/博客/论文/新闻等\n\n### Bookmarklet\n\nAdd the following target to your bookmark bar.\n\nRemember to replace `%24YOUR_TOKEN_HERE` with your Github personal access token. The token could be acquired at `Settings -\u003e Developer Settings -\u003e Personal Access Token` and check `public_repo` permission.\n\n```js\njavascript:(function()%7Bconst%20apiRequest%20%3D%20(src%2C%20param)%20%3D%3E%20fetch('https%3A%2F%2Fapi.github.com%2F'%20%2B%20src%2C%20Object.assign(%7Bheaders%3A%20%7B%20Accept%3A%20'application%2Fvnd.github.v3%2Bjson'%2C%20'Content-Type'%3A%20'application%2Fjson'%2C%20Authorization%3A%20'token%20%24YOUR_TOKEN_HERE'%20%7D%7D%2C%20param))%3BapiRequest('repos%2Fdyweb%2Fweekly%2Fissues').then(v%20%3D%3E%20v.json()).then(d%20%3D%3E%20d.filter(item%20%3D%3E%20item.labels.some(lab%20%3D%3E%20lab.name%20%3D%3D%3D%20'working'))%5B0%5D.number).then(issuenum%20%3D%3E%20%7Bconst%20url%20%3D%20'repos%2Fdyweb%2Fweekly%2Fissues%2F'%20%2B%20issuenum%20%2B%20'%2Fcomments'%3Bconst%20description%20%3D%20window.prompt('Please%20input%20your%20description%20of%20this%20web%20page%3A'%2C%20'')%3Bconst%20body%20%3D%20description%20%2B%20'%5Cn%5Cn'%20%2B%20window.location.href%20%2B%20'%5Cn%5Cn%20*Submitted%20via%20%5Bbookmarklet%5D(https%3A%2F%2Fgist.github.com%2Fhtfy96%2F301ae2b1c477a4a644e943bbc27c9588)*%20%3Asparkles%3A'%3Breturn%20apiRequest(url%2C%20%7Bmethod%3A%20'POST'%2Cbody%3A%20JSON.stringify(%7Bbody%7D)%7D)%7D).then(()%20%3D%3E%20window.alert('Submission%20OK!')).catch(ex%20%3D%3E%20%7Bconsole.error(ex)%3Bwindow.alert('Failed%20to%20submit...%20See%20console%20log%20for%20exception')%3B%7D)%7D)()\n```\n\n## Source code\n```js\nconst apiRequest = (src, param) =\u003e fetch('https://api.github.com/' + src, Object.assign({headers: { Accept: 'application/vnd.github.v3+json', 'Content-Type': 'application/json', Authorization: 'token $YOUR_TOKEN_HERE' }}, param));\n\napiRequest('repos/dyweb/weekly/issues')\n    .then(v =\u003e v.json())\n    .then(d =\u003e d.filter(item =\u003e item.labels.some(lab =\u003e lab.name === 'working'))[0].number) // current issue number\n    .then(issuenum =\u003e {\n        const url = 'repos/dyweb/weekly/issues/' + issuenum + '/comments';\n        const description = window.prompt('Please input your description of this web page:', '');\n        const body = description + '\\n\\n' + window.location.href + '\\n\\n *Submitted via [bookmarklet](https://gist.github.com/htfy96/301ae2b1c477a4a644e943bbc27c9588)* :sparkles:';\n        return apiRequest(url, {\n            method: 'POST',\n            body: JSON.stringify({body})\n        })\n        })\n    .then(() =\u003e window.alert('Submission OK!'))\n    .catch(ex =\u003e {\n        console.error(ex);\n        window.alert('Failed to submit... See console log for exception');\n     })\n```\n\nCopied from [Simple bookmarklet to send current webpage to weekly](https://gist.github.com/htfy96/301ae2b1c477a4a644e943bbc27c9588)\n\n:tada: Special Thanks to [@htfy96](https://github.com/htfy96)!\n\n## 周报维护方法\n\n如果你是周报的维护者，请参考[周报维护方法文档](maintenance.md)了解如何维护周报系统。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyweb%2Fweekly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyweb%2Fweekly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyweb%2Fweekly/lists"}