eb에 대한 개인 노트
요약
쉽게 사용할 수 있는 템플릿 엔진을 찾기 위해 이 노트를 남겨 두세요.
개시하다
이 글을 쓰는 동기
dotfiles 관리 프로그램 중에는 TheLocehiliosan/yadm: Yet Another Dotfiles Manager라는 프로그램이 있다.이 프로그램은template라고 불리는 기능을 가지고 호출된 OS, 기계 이름, 클래스(자신이 정의할 수 있는 패턴과 같은), 사용자 이름,distro 등을 받아들여 템플릿을 펼칠 수 있다.이것을 사용하면 symbolic link로dotfiles를 만들면 실행 가능한 파일을 자동으로 전환할 수 있지만, 이런 파일이 아니라면 편집이 진행되지 않는 번거로움을 줄일 수 있습니다.
현재yadm는 간단한awk로 이루어진esh,j2cli,envtpl을 지원합니다.어느 것이 좋은지, 아니면 eb를 사용하는 것이 좋은지 판단하는 일조로 이 글을 쓰고 있다.주로 자신을 위해 설정 파일을 동적으로 만들고 싶을 때 이 글을 보세요.
이 글은 누구를 향하고 있는가
주로 자신,erb에 관심이 있는 사람입니다.설정 파일을 동적으로 만드는 방법에 관심이 있는 사람
이 문서의 읽기 방법
이 문서가 본문일 뿐이라면 무슨 뜻인지 모를 것 같으니 필요에 따라 동기 등을 확인해 주세요.
본문
sample
다음에 우리는 샘플을 수정하여yadm에서 사용할 때 편리한 쓰기를 시도하였다.
yadm 표준이라면 디스트로 이름을 지을 수 있지만 version을 지을 수 없습니다. 기계 이름을 지을 수 있기 때문에case when 문장에서 여러 개의 기계 이름으로 처리하면 소박한 awk로 이루어지면 귀찮습니다.
yadm 문서에도 있어요. 셸 스크립트야~/vimrc처럼 실행되고 평가받는 시스템의 녀석은 이런 장치를 필요로 하지 않고 스스로 지점을 나누면 된다.
하지만~/.Xresource 등에 화면 비율을 채우면 사용하는 기계마다 바꾸고 싶은 부분이 생기죠.
지식을 쌓은 후에 쓰다.프로그램에서hia 문서로 사용하는 예가 많지만 템플릿으로 펼쳐져서 이렇게 사용할 수 있었으면 좋겠어요.
<? xml version="1.0" ?>
<%# コメントだよ %>
<% user = ENV["USER"] %>
<% require 'prime' -%>
<erb-example>
<calc><%= 1+1 %></calc>
<var><%= __FILE__ %></var>
<library><%= Prime.each(10).to_a.join(", ") %></library>
<% if user == "yabuki" %> hello yabuki <% else %> hello you <% end %>
<% case user
when "yabuki" then %>
hello yabuki
<% when "yukiharu" %>
hello yukiharu
<% else %>
hello you
<% end %>
<% machine = `hostname`.chomp %>
<%= $?.to_s %>
<%= machine %>
<% case machine
when "Orlanth", "Odayla" %>
you are in Debian/Sid.
<% else %>
you are in Debian/Buster.
<% end %>
</erb-example>
는 다음과 같이 집행한다.erb -T - examples.erb
<? xml version="1.0" ?>
<erb-example>
<calc>2</calc>
<var>examples.erb</var>
<library>2, 3, 5, 7</library>
hello yabuki
hello yabuki
pid 3878586 exit 0
Orlanth
you are in Debian/Sid.
</erb-example>
공행할 수 있는 일은 설정 파일이라면 문제가 없을 수 있으므로 문제가 발생하기 전에 놓는다.erb-T 옵션과 그 사용 방법을 사용하세요.댓글을 쓰면 빈 줄이 늘어나는 건 좋지 않아요.그리고 이것은 자동으로 생성된,yadm입니다.소스를 만지는 것도 있어요.erb는 아직도 모르는 게 많아요.
<%
가 아니라 %
부터예요. 어디서 어떻게 효과가 있을까요? -T 옵션의 사용 방법 등.알았으면 추기해.참조 문서
Templates - yadm
ERB More
ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux-gnu]
이며 최근 버전의 문서를 참고했습니다.class ERB - Documentation for Ruby 2.6.0
<<-
(연자)의 기법을 잘 몰라서'루비 헤더 문서'에서 인기를 끌었는데, 이 기사를 통해 <<-
라는 뜻을 알게 됐다.Ruby에서 hia 문서 - Qita 사용 상기에서 단어를 알았기 때문에 여기의hia 문서를 참조하여 답을 맞춘다.
<<~
(턱화기)를 사용하면 .gsub(/^ /, '')
나 .gsub(/^ */, "")
의 처리가 필요 없다.소양(Ruby 2.6.0 참조 안내서)
연관 가능한 문서
ERB and the case statement
k0kubun/mruby-erb: Direct port of ERB from CRuby -> MRuby
감사의 말
erb 작성자, 그리고 erb 주변 문서의 정비자.
최후
메시지
일자
기사 쓰는 날.
2021-06-19
기사 수정 날짜
----------
이 같은 내용은 이 보도의 신선도를 판단하는 데 도움을 주기 위해 쓴 것이다.
자세한 변경 이력은 Docker 컨테이너에서 설정 파일을 생성할 때 ERB를 템플릿으로 사용를 참조하세요.
보도된 티포의 지적 등에 대해 풀리q를 진행해 주시면 감사하겠습니다.수용 여부는 차이점과 Pull req의 글에 따라 판단하겠다.
Reference
이 문제에 관하여(eb에 대한 개인 노트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/yabuki/articles/2021-06-19-memo-of-erb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)