gitextract_rvcqqkjj/ ├── .all-contributorsrc ├── .github/ │ ├── PULL_REQUEST_TEMPLATE.md │ ├── TEMP_ISSUE_TEMPLATE.md │ └── workflows/ │ ├── conflict.yml │ ├── stale.yml │ └── tests.yml ├── .gitignore ├── CNAME ├── LICENSE ├── README.md ├── misc/ │ ├── CONTRIBUTING.md │ ├── docs/ │ │ ├── CHEATSHEET.md │ │ ├── CODE-REVIEW-CHECKLIST.md │ │ ├── FAQ.md │ │ ├── NAMING-CONVENTIONS.md │ │ ├── ONBOARDING.md │ │ ├── README.md │ │ ├── RESOURCES.md │ │ ├── TEAM.md │ │ ├── TWINDLE.md │ │ ├── TWITTER.md │ │ ├── articles/ │ │ │ ├── Process-for-new-contributors.md │ │ │ ├── README.md │ │ │ ├── creating-first-pull-request.md │ │ │ ├── design-guide-for-good-logo.md │ │ │ ├── git -github-related.md │ │ │ ├── handlebar-explained.md │ │ │ ├── javascript-code.md │ │ │ ├── pr-clean-commits.md │ │ │ ├── puppeteer-explained.md │ │ │ ├── setup-prettier-vscode.md │ │ │ ├── solving-forked-commit-ahead.md │ │ │ ├── sync-to-main-repo-using-git-bash.md │ │ │ ├── sync-to-main-repo-using-pull-request.md │ │ │ └── sync-to-main-repo.md │ │ └── images/ │ │ └── README.md │ ├── firstpr/ │ │ ├── abdu_masoudi.md │ │ ├── abhilash_s_s.md │ │ ├── ad3rinto.md │ │ ├── adewale.md │ │ ├── aditya.md │ │ ├── aditya20233.md │ │ ├── aditya786.md │ │ ├── akshay.md │ │ ├── alejandra_pinto.md │ │ ├── alexis.md │ │ ├── ali.md │ │ ├── andrei.md │ │ ├── anujshukla.md │ │ ├── aparna.md │ │ ├── aravind.md │ │ ├── arthurbuhl.md │ │ ├── ashish.md │ │ ├── baijanath.md │ │ ├── bill.md │ │ ├── blessing.md │ │ ├── can.md │ │ ├── chimdie.md │ │ ├── codekumar.md │ │ ├── daniel.md │ │ ├── davabalan.md │ │ ├── deepak.md │ │ ├── deepak1_try2.md │ │ ├── edori.md │ │ ├── edwin.md │ │ ├── eyram.md │ │ ├── fabio.md │ │ ├── franklinulrich.md │ │ ├── fusen.md │ │ ├── habeeb.md │ │ ├── harsha.md │ │ ├── ibrahim.md │ │ ├── jahid.md │ │ ├── jaki.md │ │ ├── jesulayomi.md │ │ ├── jilva.md │ │ ├── joel_vinay_kumar.md │ │ ├── karan.md │ │ ├── karan_khosla.md │ │ ├── kenny.md │ │ ├── kingsley_victor.md │ │ ├── kiran_don.md │ │ ├── krishnadevz.md │ │ ├── krypton.md │ │ ├── lara_noomene.md │ │ ├── layomi.md │ │ ├── lilfatfrank.md │ │ ├── liviza.md │ │ ├── lorennale.md │ │ ├── lukmanokunade.md │ │ ├── luli.md │ │ ├── manohar.md │ │ ├── manuel_alejandro.md │ │ ├── marcus.md │ │ ├── maria_rivera.md │ │ ├── mbui.md │ │ ├── melissa_huerta.md │ │ ├── michael.md │ │ ├── mumbi.md │ │ ├── nahuel.md │ │ ├── nailah.md │ │ ├── naveen.md │ │ ├── neaz_mahmood.md │ │ ├── nishank.md │ │ ├── nitin_kadam.md │ │ ├── nivetha.md │ │ ├── omolo.md │ │ ├── paniagua.md │ │ ├── pavan.md │ │ ├── pr_m.md │ │ ├── prajwal.md │ │ ├── pranav.md │ │ ├── prasanna.md │ │ ├── praveen.md │ │ ├── pravin.md │ │ ├── predrag_stamenkovic.md │ │ ├── prem.md │ │ ├── proful.md │ │ ├── puru.md │ │ ├── rafael.md │ │ ├── rajesh_prajapati.md │ │ ├── rakesh.md │ │ ├── rohitsawai.md │ │ ├── sachin.md │ │ ├── samriddhi.md │ │ ├── samueladeniyi.md │ │ ├── sarvesh.md │ │ ├── sasmita.md │ │ ├── satyaki.md │ │ ├── saurabh_srivastava.md │ │ ├── scott.md │ │ ├── sheetal.md │ │ ├── shekharranjan.md │ │ ├── simrin_joshi.md │ │ ├── sippeybro.md │ │ ├── sravan.md │ │ ├── sunny.md │ │ ├── suraj.md │ │ ├── swatirao.md │ │ ├── teckiegeek.md │ │ ├── therealjimoh.md │ │ ├── titi_olopade.md │ │ ├── tolga.md │ │ ├── trombley.md │ │ ├── tushar.md │ │ ├── tusharkandpal.md │ │ ├── varad.md │ │ ├── vera_nkanmuo.md │ │ ├── vijaya.md │ │ ├── vipin.md │ │ ├── viraj_patil.md │ │ ├── wamuyuwanjohi │ │ └── yash.md │ ├── playground/ │ │ ├── cli/ │ │ │ ├── README.md │ │ │ └── spike/ │ │ │ ├── HackerNews/ │ │ │ │ ├── code.js │ │ │ │ ├── code2.js │ │ │ │ ├── mainindex.js │ │ │ │ └── renderer/ │ │ │ │ ├── index.js │ │ │ │ ├── pdf/ │ │ │ │ │ ├── createpdf.js │ │ │ │ │ └── index.js │ │ │ │ ├── render-template.js │ │ │ │ └── template/ │ │ │ │ └── template.hbs │ │ │ ├── README.md │ │ │ ├── cli-epub/ │ │ │ │ ├── .gitignore │ │ │ │ ├── epub.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── cli-example-esm/ │ │ │ │ ├── .gitignore │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── json-to-pdf-cli/ │ │ │ │ ├── Readme.md │ │ │ │ ├── output.css │ │ │ │ ├── output.html │ │ │ │ ├── package.json │ │ │ │ ├── script.js │ │ │ │ ├── tweet_template.mustache │ │ │ │ └── twit_thread.json │ │ │ ├── markdown/ │ │ │ │ └── index.js │ │ │ ├── pdf-from-html-cli/ │ │ │ │ ├── README.md │ │ │ │ ├── create-pdf.js │ │ │ │ ├── examples/ │ │ │ │ │ └── Twindle.html │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── render-template.js │ │ │ │ └── templates/ │ │ │ │ └── Thread.hbs │ │ │ ├── pdf-from-json/ │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── phase2-server/ │ │ │ │ ├── api/ │ │ │ │ │ └── index.js │ │ │ │ ├── config/ │ │ │ │ │ └── index.js │ │ │ │ ├── environment.js │ │ │ │ ├── index.js │ │ │ │ ├── middlewares/ │ │ │ │ │ ├── index.js │ │ │ │ │ ├── request-logger.js │ │ │ │ │ └── twitter.js │ │ │ │ ├── package.json │ │ │ │ └── router/ │ │ │ │ ├── api/ │ │ │ │ │ └── index.js │ │ │ │ ├── index.js │ │ │ │ └── pages/ │ │ │ │ └── index.js │ │ │ ├── simple-pdf-to-json/ │ │ │ │ ├── README.md │ │ │ │ ├── json2pdf.html │ │ │ │ ├── json2pdf.js │ │ │ │ └── simple-pdf-to-json/ │ │ │ │ ├── newjson2pdf.css │ │ │ │ ├── newjson2pdf.html │ │ │ │ ├── newjson2pdf.js │ │ │ │ └── old codes/ │ │ │ │ ├── oldjson2pdf.html │ │ │ │ └── oldjson2pdf.js │ │ │ ├── twindle-cli-node/ │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── twindle.js │ │ │ ├── twindle-hello-world-pdf/ │ │ │ │ ├── package.json │ │ │ │ └── pdf.js │ │ │ ├── twindle-thread/ │ │ │ │ ├── Readme.md │ │ │ │ ├── script.js │ │ │ │ └── twit_thread.json │ │ │ └── twitter-api/ │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ ├── responses/ │ │ │ │ ├── response-version1-searchendpoint.json │ │ │ │ ├── response-version1-user-timeline.json │ │ │ │ ├── response-version2-conversation.json │ │ │ │ └── response-version2-tweetthread.json │ │ │ ├── script-version1-searchendpoint.js │ │ │ ├── script-version1-usertimeline.js │ │ │ └── script-version2-conversation.js │ │ ├── mock/ │ │ │ ├── README.md │ │ │ ├── twit-thread.json │ │ │ ├── twitter-recent-search-api-response.json │ │ │ └── twitter-tweet-api-response.json │ │ ├── tests/ │ │ │ ├── github/ │ │ │ │ ├── giturl.unit.test.js │ │ │ │ └── repo.unit.test.js │ │ │ └── twitter/ │ │ │ ├── api.test.js │ │ │ ├── unit/ │ │ │ │ ├── api/ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ └── fetch.unit.test.js │ │ │ │ │ └── twitter-endpoints/ │ │ │ │ │ ├── search.unit.test.js │ │ │ │ │ └── tweets.unit.test.js │ │ │ │ └── transformations/ │ │ │ │ └── helpers.unit.test.js │ │ │ └── utils.test.js │ │ └── twindleco/ │ │ ├── header/ │ │ │ ├── header1/ │ │ │ │ ├── header1.css │ │ │ │ └── header1.html │ │ │ ├── header2/ │ │ │ │ ├── header2.css │ │ │ │ └── header2.html │ │ │ ├── header3/ │ │ │ │ ├── header3.css │ │ │ │ └── header3.html │ │ │ ├── header4/ │ │ │ │ └── public/ │ │ │ │ ├── index.html │ │ │ │ └── style.css │ │ │ ├── header5/ │ │ │ │ ├── header_twindle.css │ │ │ │ └── header_twindle.html │ │ │ ├── header6/ │ │ │ │ ├── header6.css │ │ │ │ └── header6.html │ │ │ └── header7/ │ │ │ ├── header7.css │ │ │ └── header7.html │ │ ├── header8/ │ │ │ ├── header8.css │ │ │ └── header8.html │ │ ├── homepage/ │ │ │ ├── homepage1/ │ │ │ │ ├── Twindle Home Page.html │ │ │ │ └── style.css │ │ │ ├── homepage2/ │ │ │ │ ├── README.md │ │ │ │ ├── index.html │ │ │ │ ├── index.js │ │ │ │ ├── style.css │ │ │ │ └── style.scss │ │ │ ├── homepage3/ │ │ │ │ ├── index.css │ │ │ │ └── index.html │ │ │ ├── homepage4/ │ │ │ │ ├── index.html │ │ │ │ └── styles.css │ │ │ ├── homepage6/ │ │ │ │ ├── home.css │ │ │ │ └── home.html │ │ │ └── homepage7/ │ │ │ ├── index.html │ │ │ └── style.css │ │ ├── readme.md │ │ └── team/ │ │ └── team1/ │ │ ├── index.html │ │ └── style.css │ ├── twindle-thread/ │ │ ├── .gitignore │ │ ├── .prettierrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── backend/ │ │ │ ├── README.md │ │ │ ├── common.d.ts │ │ │ ├── index.js │ │ │ ├── jsconfig.json │ │ │ ├── package.json │ │ │ └── src/ │ │ │ ├── add-thread.js │ │ │ ├── error/ │ │ │ │ ├── api.js │ │ │ │ ├── base.js │ │ │ │ ├── index.js │ │ │ │ └── validation.js │ │ │ ├── get-thread-data.js │ │ │ ├── get-threads-list.js │ │ │ ├── helpers/ │ │ │ │ ├── connection.js │ │ │ │ ├── error.js │ │ │ │ ├── score.js │ │ │ │ └── setup-db.sql │ │ │ └── twitter/ │ │ │ ├── constants.js │ │ │ ├── helpers/ │ │ │ │ └── fetch.js │ │ │ ├── index.js │ │ │ ├── twitter-endpoints/ │ │ │ │ └── tweets.js │ │ │ ├── types.d.ts │ │ │ └── types.js │ │ ├── jsconfig.json │ │ ├── package.json │ │ ├── public/ │ │ │ ├── css/ │ │ │ │ ├── global.css │ │ │ │ └── theme.css │ │ │ ├── index.html │ │ │ └── robots.txt │ │ ├── snowpack.config.js │ │ ├── src/ │ │ │ ├── App.svelte │ │ │ ├── components/ │ │ │ │ ├── Avatar.svelte │ │ │ │ ├── Button.svelte │ │ │ │ ├── IconButton.svelte │ │ │ │ ├── list/ │ │ │ │ │ ├── List.svelte │ │ │ │ │ ├── ListItem.svelte │ │ │ │ │ └── listElStore.js │ │ │ │ └── utils/ │ │ │ │ └── AppIcon.svelte │ │ │ ├── constants.js │ │ │ ├── helpers/ │ │ │ │ └── fetch.js │ │ │ ├── index.js │ │ │ └── pages/ │ │ │ └── Feed.svelte │ │ ├── types.d.ts │ │ ├── types.js │ │ └── workbox-config.js │ └── twindle-web/ │ ├── .prettierrc │ ├── README.md │ ├── dark-theme.css │ ├── index.html │ ├── index.js │ ├── scripts/ │ │ ├── header.js │ │ └── testimonials.js │ ├── style.css │ └── team_details/ │ ├── README.md │ ├── data.json │ ├── team_details.css │ ├── team_details.html │ └── team_details.js └── twindle-cli/ ├── .gitignore ├── .prettierrc ├── README.md ├── jsconfig.json ├── package.json └── src/ ├── cli.js ├── common.d.ts ├── env.js ├── fileOpener.js ├── github/ │ └── githubparse/ │ ├── app.js │ ├── convert.js │ └── jsonFetchData.js ├── hacker-news/ │ ├── code.js │ └── hn.test.js ├── helpers/ │ ├── error.js │ └── logger.js ├── index.js ├── readability/ │ └── index.js ├── renderer/ │ ├── epub/ │ │ ├── epub.js │ │ ├── index.js │ │ └── render-template.js │ ├── index.js │ ├── md/ │ │ ├── README.md │ │ └── index.js │ ├── mobi/ │ │ ├── README.md │ │ └── index.js │ └── pdf/ │ ├── create-pdf.js │ ├── examples/ │ │ └── Twindle.html │ ├── index.js │ └── render-template.js ├── setup/ │ └── init.js ├── spinner.js ├── twindle.js ├── twitter/ │ ├── api/ │ │ ├── constants.js │ │ ├── helpers/ │ │ │ └── fetch.js │ │ ├── index.js │ │ └── twitter-endpoints/ │ │ ├── search.js │ │ ├── tweets.js │ │ └── user_timeline.js │ ├── error/ │ │ ├── api.js │ │ ├── base.js │ │ ├── index.js │ │ └── validation.js │ ├── index.js │ ├── mock/ │ │ ├── delete-if-not-needed/ │ │ │ ├── data.js │ │ │ └── dataaa.js │ │ ├── twitter-mock-responses/ │ │ │ ├── images-text.json │ │ │ ├── mock.json │ │ │ └── only-links.json │ │ └── twitter-responses/ │ │ ├── gif-retweet.json │ │ ├── only-images.json │ │ ├── only-text.json │ │ ├── response-version2-tweetthread.json │ │ ├── squirrel-pumpkin.json │ │ └── username-hashtag.json │ ├── scraping/ │ │ └── index.js │ ├── transformations/ │ │ ├── helpers.js │ │ ├── helpers.test.js │ │ ├── rich-rendering.js │ │ ├── rich-rendering.test.js │ │ ├── search-endpoint.js │ │ ├── tweet-endpoint.js │ │ ├── tweets-array-Endpoint.test.js │ │ ├── tweets-array-endpoint.js │ │ ├── user-timeline-Endpoint.test.js │ │ └── user-timeline-endpoint.js │ ├── twitter.js │ ├── utils/ │ │ ├── date.js │ │ └── date.test.js │ └── validations/ │ └── tweet-endpoint.js ├── types/ │ └── twitter.ts ├── types.js └── utils/ ├── date.js ├── env.js ├── helpers.js ├── helpers.test.js ├── image.js ├── image.test.js ├── library.js ├── path.js ├── path.test.js ├── send-email.js └── send-to-kindle.js