{"id":19280044,"url":"https://github.com/jinyphp/html","last_synced_at":"2026-02-12T14:07:12.618Z","repository":{"id":57748618,"uuid":"459860016","full_name":"jinyphp/html","owner":"jinyphp","description":"HTML Object tags for Laravel","archived":false,"fork":false,"pushed_at":"2025-08-26T07:42:11.000Z","size":1245,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-28T02:28:56.521Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jinyphp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2022-02-16T05:06:37.000Z","updated_at":"2025-08-26T07:41:28.000Z","dependencies_parsed_at":"2025-04-22T00:43:36.973Z","dependency_job_id":null,"html_url":"https://github.com/jinyphp/html","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"a23e8a25c13b7f8ded4418e1b44f85f0f65b6838"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/jinyphp/html","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fhtml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fhtml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fhtml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fhtml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jinyphp","download_url":"https://codeload.github.com/jinyphp/html/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jinyphp%2Fhtml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29367910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"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":[],"created_at":"2024-11-09T21:16:39.065Z","updated_at":"2026-02-12T14:07:12.614Z","avatar_url":"https://github.com/jinyphp.png","language":"PHP","readme":"# Jiny HTML\n\n`jiny/html`는 서버사이드 HTML 코드를 객체 지향적으로 생성할 수 있는 Laravel 패키지입니다. 복잡한 HTML 구조를 데이터 기반으로 안전하고 유지보수하기 쉽게 빌드할 수 있습니다.\n\n## 특징\n\n- 📦 **객체 지향적 HTML 생성**: PHP 객체를 통한 type-safe HTML 생성\n- 🎨 **풍부한 컴포넌트**: 폼, 테이블, SVG 등 다양한 HTML 요소 지원\n- 🔧 **Laravel 통합**: Laravel Service Provider 및 Blade 컴포넌트 지원\n- 🛡️ **안전한 출력**: XSS 방지를 위한 자동 이스케이프 처리\n- 📝 **유연한 구조**: 메서드 체이닝을 통한 직관적인 API\n\n## 디렉토리 구조\n\n```\njiny/html/\n├── app/                   # 소스 코드\n│   ├── Core/             # 핵심 기본 클래스\n│   │   └── CTag.php      # 모든 HTML 요소의 기본 클래스\n│   ├── Components/       # 기본 HTML 컴포넌트\n│   │   ├── CDiv.php\n│   │   ├── CSpan.php\n│   │   ├── CButton.php\n│   │   └── ...\n│   ├── Forms/            # 폼 관련 컴포넌트\n│   │   ├── CForm.php\n│   │   ├── CInput.php\n│   │   └── ...\n│   ├── Tables/           # 테이블 관련 컴포넌트\n│   │   ├── CTable.php\n│   │   ├── CRow.php\n│   │   └── ...\n│   ├── Widgets/          # 고급 UI 위젯\n│   ├── Svg/             # SVG 관련 컴포넌트\n│   └── Helpers/         # 헬퍼 함수들\n│       ├── helpers.php\n│       └── constants.php\n├── tests/               # 테스트 코드\n│   ├── Unit/\n│   └── Feature/\n├── docs/                # 문서화\n├── JinyHtmlServiceProvider.php  # Laravel 서비스 프로바이더\n└── composer.json        # Composer 설정\n```\n\n## 설치방법\n\nLaravel 프로젝트에서 Composer를 통하여 패키지를 설치합니다:\n\n```bash\ncomposer require jiny/html\n```\n\nLaravel의 패키지 자동 발견 기능으로 서비스 프로바이더가 자동 등록됩니다.\n\n## 기본 사용법\n\n### 헬퍼 함수 사용\n\n```php\n// 헬퍼 함수로 간편하게 사용\n$div = CDiv('Hello World')\n    -\u003eaddClass('container')\n    -\u003esetId('main-content');\necho $div; // \u003cdiv class=\"container\" id=\"main-content\"\u003eHello World\u003c/div\u003e\n\n// 버튼 생성\n$button = CButton('submit-btn', '전송')\n    -\u003eaddClass('btn btn-primary');\n```\n\n### 메서드 체이닝\n\n대부분의 메서드는 체이닝을 지원합니다:\n\n```php\n$button = (new CTag('button'))\n    -\u003esetAttribute('type', 'submit')\n    -\u003esetAttribute('class', 'btn btn-primary')\n    -\u003esetBodyContent('전송');\n```\n\n### 폼 컴포넌트\n\n```php\n// 헬퍼 함수 사용\n$form = CForm()\n    -\u003esetAttribute('method', 'post')\n    -\u003esetAttribute('action', '/submit')\n    -\u003eaddItem([\n        CLabel('이메일:', 'email'),\n        CEmail()-\u003esetAttribute('name', 'email')-\u003esetAttribute('required', 'required'),\n        CTextBox('username', '', false, 100)-\u003esetAttribute('placeholder', '사용자명'),\n        CCheckBox('agree', '1')-\u003esetLabel('동의합니다'),\n        CButton('submit', '전송')-\u003esetAttribute('type', 'submit')\n    ]);\n\necho $form;\n```\n\n### 테이블 컴포넌트\n\n```php\n// 헬퍼 함수 사용\n$table = CTable()\n    -\u003eaddClass('table table-striped')\n    -\u003eaddItem([\n        CRow([\n            CColHeader('이름'),\n            CColHeader('이메일'),\n            CColHeader('상태')\n        ]),\n        CRow([\n            CCol('홍길동'),\n            CCol('hong@example.com'),\n            CCol('활성')-\u003eaddClass('text-success')\n        ])\n    ]);\n\necho $table;\n```\n\n## 고급 기능\n\n### 조건부 렌더링\n\n```php\n$div = new CDiv();\nif ($showContent) {\n    $div-\u003esetBodyContent('표시할 내용');\n} else {\n    $div-\u003esetBodyContent('기본 내용');\n}\n```\n\n### 동적 속성 설정\n\n```php\n$element = new CTag('span');\n$attributes = [\n    'class' =\u003e 'highlight',\n    'data-value' =\u003e $dynamicValue\n];\n\nforeach ($attributes as $key =\u003e $value) {\n    $element-\u003esetAttribute($key, $value);\n}\n```\n\n## 문서\n\n자세한 사용법은 [docs](./docs/) 폴더의 문서를 참조하세요:\n\n- [Button 컴포넌트](./docs/button.md)\n- [Div 컴포넌트](./docs/div.md) \n- [Input 컴포넌트](./docs/input.md)\n- [Link 컴포넌트](./docs/link.md)\n- [Select 컴포넌트](./docs/select.md)\n- [Span 컴포넌트](./docs/span.md)\n\n## 라이센스\n\n이 패키지는 MIT 라이센스 하에 배포됩니다. 자세한 내용은 [license.md](./license.md)를 확인하세요.\n\n## 기여하기\n\n버그 리포트, 기능 제안, 또는 풀 리퀘스트를 환영합니다. 기여하기 전에 코드 스타일과 테스트를 확인해 주세요.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinyphp%2Fhtml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjinyphp%2Fhtml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjinyphp%2Fhtml/lists"}