eb에 대한 개인 노트

11155 단어 RubyDebianerbtech

요약


쉽게 사용할 수 있는 템플릿 엔진을 찾기 위해 이 노트를 남겨 두세요.

개시하다


이 글을 쓰는 동기


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
  • 이전에 서산 선생이 쓴 문장은 바로 이 문장에서 시작하여 덩굴을 타고 참외를 만지는 식의 온라인 문장을 읽는 것이다.
  • 표준부가라이브러리 소개[제10회]ERB
  • ERB
  • the erb way

  • ERB More
  • 2021-06-19 현재 Debian sid의rubyversion은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에서 케이스 when은 이렇게 쓴다.이것은 내가 이gist에서 배운 것이다.
  • 연관 가능한 문서


  • ERB and the case statement
  • mruby에서 cruby로 이식

  • k0kubun/mruby-erb: Direct port of ERB from CRuby -> MRuby
  • 문서를 보면 알 수 있듯이 미타마도 eb를 사용할 수 있을 것 같다.
  • see also itamae-kitchen/mitamae: mitamae is a fast, simple, and single-binary configuration management tool with a DSL like Chef
  • 이 글은 무루비 단일체라면 eb를 사용할 수 없기 때문에mitamae를 사용했다.busybox라기보다는 Kitchen sink의 접근이다.비교적 작은 단일 이진법은 매우 편리하다.
  • 감사의 말


    erb 작성자, 그리고 erb 주변 문서의 정비자.

    최후


    메시지
    일자
    기사 쓰는 날.
    2021-06-19
    기사 수정 날짜
    ----------
    이 같은 내용은 이 보도의 신선도를 판단하는 데 도움을 주기 위해 쓴 것이다.
    자세한 변경 이력은 Docker 컨테이너에서 설정 파일을 생성할 때 ERB를 템플릿으로 사용를 참조하세요.
    보도된 티포의 지적 등에 대해 풀리q를 진행해 주시면 감사하겠습니다.수용 여부는 차이점과 Pull req의 글에 따라 판단하겠다.

    좋은 웹페이지 즐겨찾기