https://web.archive.org/web/20150220000037/http://contest.xpressengine.com/
(사이트가 내려가서 아카이브 링크입니다)
아마 몇몇 분들은 XE Contest 2014를 기억하실겁니다. 2014라고는 해도 2014. 11. 8 ~ 2015. 1. 31까지 진행되었던 공모전이죠. 저도 LoginXE로 제출해서 입상했었습니다.
https://yjsoft.github.io/XEcontest2014-templateA-Basic/basic/basic.main.html
아무튼, 당시 공모전을 위해 템플릿을 제작해 줬던 것이 문득 기억나서 클로드의 라이믹스 코딩 실력(?)도 테스트해볼겸 라이믹스 레이아웃으로 변환하는 작업을 진행했습니다.
https://rhymix.org/pds/1949560
다운로드는 자료실에서 가능합니다.
개발시 주입한 원칙
1. https://github.com/zodkr/rx-docs 참고하여 개발
2. 라이믹스 소스코드 및 sociallogin 모듈 코드를 참고하여 개발
3. 소스코드를 보지 않고 추측하지 말것
물론 바로 처음부터 잘되지는 않았습니다.
시행착오
1. AI가 <!DOCTYPE html>부터 시작하는 html 전체 구조를 layout.html에 주입
2. blade 멀티라인 주석 미지원 문제 - 클로드가 말하길 표준에는 가능하다던데 라이믹스는 2번째 줄부터는 그냥 출력하네요
3. {{ }} 표현식 안에 들어간 경로 폴백은 자동 변환에서 아예 제외됨 - 라이믹스의 상대경로 자동 변환(_convertRelativePaths)은 컴파일 시점에 템플릿 소스를 "텍스트"로 정규식 훑는 방식이라, {{ $var ?: '기본값.png' }} 같은 표현식은 변환 대상에서 통째로 빠집니다. 해결법은 @if/@else로 그냥 유저 입력값/기본값을 분기하는겁니다.
4. MemberModel::getProfileImage()가 문자열이 아니라 stdClass{width,height,src,file}를 반환 - 문자열로 가정하고 써서 TypeError.
5. GNB 메뉴 노드의 링크 키는 url이 아니라 href - 커뮤니티 문서(rx-docs)가 이 부분을 틀리게 적어놨다는 모양입니다(사실여부 체크 못해봄)
6. 원본 XE Contest 데모 자체에 있던 버그 - 특정 컬러셋 CSS에 background-co.btn_top5ede(콜론 빠진 오타), 헤더가 .container.fixed_header를 열어놓고 안 닫아서 푸터가 잘못 중첩되던 구조 버그, layout.basic.js가 참조하는 .btn_top(맨 위로) 버튼 자체가 어느 마크업에도 없던 누락.
추가 수정도 수동으로 했습니다.
1. 로그인시 추가되는 회원 메뉴 추가(AI 작업물에는 마이페이지/관리/로그아웃뿐이였음)
2. CSS/JS 위치 이동
3. layout.html blade.php로 이름 변경(지원 초기에는 layout.html만 불러왔으나 이젠 layout.blade.php도 정상 동작)
그래도 AI가 만든것 치곤 꽤나 잘 만들어진것 같습니다. GPL 라이선스이므로 PR이나 이 레이아웃을 기반으로 하는 수정 모두 환영입니다.(다만 원본 템플릿 디자인이나 이미지는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스인것은 유의 필요합니다)
댓글 0