{"id":16872494,"url":"https://github.com/redgoose-dev/auto-writer","last_synced_at":"2026-05-06T22:36:15.160Z","repository":{"id":81723641,"uuid":"249755903","full_name":"redgoose-dev/auto-writer","owner":"redgoose-dev","description":"Auto typing tool","archived":false,"fork":false,"pushed_at":"2025-08-29T08:52:08.000Z","size":63,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-29T16:48:47.868Z","etag":null,"topics":["auto-writer","text-animation","type-animation","write-animation"],"latest_commit_sha":null,"homepage":"https://redgoose-dev.github.io/auto-writer/","language":"JavaScript","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/redgoose-dev.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-24T16:12:50.000Z","updated_at":"2025-08-29T08:52:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"38a49008-2a25-4dd1-8216-f0a1091ac981","html_url":"https://github.com/redgoose-dev/auto-writer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/redgoose-dev/auto-writer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redgoose-dev%2Fauto-writer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redgoose-dev%2Fauto-writer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redgoose-dev%2Fauto-writer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redgoose-dev%2Fauto-writer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redgoose-dev","download_url":"https://codeload.github.com/redgoose-dev/auto-writer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redgoose-dev%2Fauto-writer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32715306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T19:35:05.142Z","status":"ssl_error","status_checked_at":"2026-05-06T19:35:03.996Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["auto-writer","text-animation","type-animation","write-animation"],"created_at":"2024-10-13T15:15:05.717Z","updated_at":"2026-05-06T22:36:15.154Z","avatar_url":"https://github.com/redgoose-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto Writer\n\n자동으로 글이 작성되는 애니메이션 툴입니다.\n\n## Installation\n\n`CLI`에서 설치할 프로젝트에서 다음과 같은 명령으로 설치합니다.\n\n```\nnpm install --save-dev auto-writer\nbun add -d auto-writer\n```\n\n\n## Using\n\n기초적인 사용법은 다음과 같습니다.\n함수를 사용하는 코드는 `autoWriter(ELEMENT: HTMLElement, OPTIONS: object)`으로 구성되어 있습니다.\n\n```javascript\nimport autoWriter from 'auto-writer'\n\nautoWriter(document.getElementById('text'), {\n  text: 'message text'\n})\n```\n\n첫번째 파라메터값인 `ELEMENT`값을 `null`로 넣고, `stream` 콜백함수에서 직접 제어할 수 있습니다.\n\n\n## Options\n\n다음과 같이 옵션 파라메터로 사용할 수 있습니다.\n\n| Name           | Type     | Value               | Description                      |\n|----------------|----------|---------------------|----------------------------------|\n| text           | string   | 'message text'      | 최종적으로 표시되는 텍스트                   |\n| waitChar       | string   | '-'                 | 변경되기전에 표시되는 텍스트                  |\n| charSpeed      | number   | 1                   | 한번에 바뀌는 글자의 갯수                   |\n| moveFix        | number   | 25                  | `waitChar`문자에서 랜덤문자로 바뀔때의 딜레이 시간 |\n| moveRange      | number   | 10                  | 대기문자에서 랜덤 글자로 바뀌는 시간             |\n| moveTrigger    | number   | 25                  | 만들어지는 글자가 랜덤으로 바뀌는 횟수            |\n| fps            | number   | 60                  | 속도                               |\n| pattern        | string   | 'abcdefg0123456789' | 랜덤으로 표시되는 문자패턴                   |\n| randomTextType | string   | 'unicode'           | 랜덤 텍스트 종류                        |\n| stream         | function | null                | 글자가 바뀔때마다 호출되는 함수                |\n\n### pattern\n\n사용할만한 글자 패턴입니다.\n\n기본값\n\n```\nabcdefghijklmnopqrstuvwxyz0123456789-_!@#$%^\u0026*()+~\u003c\u003e\n```\n\n한글과 영문, 숫자, 특수문자\n\n```\nabcdefghijklmnopqrstuvwxyz0123456789-_!@#$%^\u0026*()+~\u003c\u003eㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉ\n```\n\n한글만\n\n```\nㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉ\n```\n\n\n## Examples\n\n`auto-writer` 함수 사용 예제들입니다.\n\n### Another pattern text\n\n다른 패턴으로 사용합니다.\n\n```javascript\nimport autoWriter from 'auto-writer'\n\nautoWriter(document.getElementById('text'), {\n  text: '여우비가 내리는 날에는 기분이 설레인다.',\n  pattern: 'ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉ',\n  randomTextType: 'pattern',\n})\n```\n\n### Random color\n\n상태에 따라 다른 색상으로 표현할 수 있습니다.\n하지만 애니메이션이 일어날때마다 엘리먼트를 만들기 때문에 성능에 영향을 줄 수 있습니다.\n\n애니메이션 틱이 호출될때 `stream` 옵션 콜백함수로 직접 텍스트 엘리먼트를 만들고 타겟 엘리먼트에 집어넣습니다.\n\n```javascript\nconst colors = [\n  '#f44336', '#e91e63', '#9c27b0', '#673ab7', '#3f51b5',\n  '#2196f3', '#03a9f4', '#00bcd4', '#009688', '#4caf50',\n  '#8bc34a', '#cddc39', '#ffeb3b', '#ffc107', '#ff9800',\n  '#ff5722', '#795548', '#9e9e9e', '#607d8b',\n]\nconst $target = document.getElementById('text')\n\nautoWriter(null, {\n  text: 'Random Color Text',\n  stream: arr =\u003e {\n    $target.innerHTML = ''\n    for (let i = 0; i \u003c arr.length; i++) {\n      let tag = document.createElement('span')\n      tag.append(arr[i].t)\n      switch(arr[i].m) {\n        case 'wait':\n          // 애니메이션 전 대기 문자\n          tag.style.color = 'silver'\n          break\n        case 'new':\n          // 애니메이션 중 랜덤으로 바뀌는 문자\n          tag.style.color = colors[Math.floor(Math.random() * colors.length)]\n          break\n        case 'done':\n        default:\n          // 애니메이션이 완료된 문자\n          tag.style.color = 'black'\n          break\n      }\n      $target.append(tag)\n    }\n  },\n}).then((text) =\u003e {\n  // 최종적으로 완성된 텍스트. 일반 글자로 교체해도 됩니다.\n  $target.textContent = text\n})\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredgoose-dev%2Fauto-writer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredgoose-dev%2Fauto-writer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredgoose-dev%2Fauto-writer/lists"}