{"id":20106218,"url":"https://github.com/himkt/interest","last_synced_at":"2025-08-03T11:32:24.890Z","repository":{"id":39492994,"uuid":"156082927","full_name":"himkt/interest","owner":"himkt","description":"👀  Interest: Organizing papers+materials which you are interested in. Serverless application powered by GitHub pages + Google Spreadsheet.","archived":false,"fork":false,"pushed_at":"2023-01-07T04:14:53.000Z","size":4669,"stargazers_count":15,"open_issues_count":13,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-23T16:51:39.634Z","etag":null,"topics":["github-pages","google-apps-script","google-spreadsheet","paper","react","research-tool","typescript"],"latest_commit_sha":null,"homepage":"https://himkt.github.io/interest","language":"TypeScript","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/himkt.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}},"created_at":"2018-11-04T13:05:37.000Z","updated_at":"2024-11-18T21:10:09.000Z","dependencies_parsed_at":"2023-02-06T11:30:56.488Z","dependency_job_id":null,"html_url":"https://github.com/himkt/interest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himkt%2Finterest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himkt%2Finterest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himkt%2Finterest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/himkt%2Finterest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/himkt","download_url":"https://codeload.github.com/himkt/interest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228540832,"owners_count":17934030,"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","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":["github-pages","google-apps-script","google-spreadsheet","paper","react","research-tool","typescript"],"created_at":"2024-11-13T17:49:29.540Z","updated_at":"2024-12-07T00:08:40.566Z","avatar_url":"https://github.com/himkt.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interest\n\nPaper management system built on GitHub Pages and Google {Forms, Sheets, Apps Script}.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/5164000/117146751-7ebc7100-adef-11eb-9561-e84a73de6be5.gif\" width=\"70%\" /\u003e\u003c/p\u003e\n\n## Adding items\n\n### Form\n\nYou can add a paper with Google Form.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/5164000/117144180-99d9b180-adec-11eb-829b-8c6948465fa8.jpg\" width=\"70%\"/\u003e\u003c/p\u003e\n\n### Spreadsheet\n\nYou can view added papers on Google Spreadsheet.\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/5164000/117143347-b0cbd400-adeb-11eb-8521-87e813ae7236.jpg\" width=\"70%\"/\u003e\u003c/p\u003e\n\n## API to get papers\n\nInterest uses Google Apps Script to build API to get papers from a spreadsheet.\n\n```javascript\nvar schema = {\n  timeStamp: 0,\n  title: 3,\n  authors: 2,\n  isRead: 1,\n  sourceShort: 4,\n  year: 5,\n  paperLink: 6,\n  keywords: 8,\n  note: 7,\n  paperType: 10,\n  issueLink: 11,\n  source: 12,\n};\n\n\nfunction toDict (row) {\n  var item = {}\n  for (var key in schema) item[key] = row[schema[key]];\n  return item;\n};\n\n\nfunction fetchPapers() {\n  var paperListSpreadSheet = SpreadsheetApp.\n  openById(\"your_spreadsheet_id\").\n  getSheetByName(\"Form Responses 1\");\n  \n  var paperList = paperListSpreadSheet.getDataRange().getValues().map(function(row, index) {\n    if (index == 0) return;  // header\n    return toDict(row);\n  }).filter(function(ret) { return ret != null} );\n  \n  Logger.log(paperList);\n  return JSON.stringify(paperList);\n}\n\n\nfunction doGet() {\n  const paperListJson = fetchPapers();\n  return ContentService.createTextOutput(paperListJson);\n}\n```\n\n## Blog article\n\n- https://qiita.com/klis/items/05e421593fe4d4aebad0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimkt%2Finterest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhimkt%2Finterest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhimkt%2Finterest/lists"}