0
다음 루비 코드는 자동으로 부두 패드 안에 페이지를 생성하고 각 페이지에 메타 태그를 추가합니다.애플 스크립트 (appscript를 통해) 루프에서 처리를 중지
vp = app("VoodooPad.app")
doc = vp.open vpdoc
page_names = [@name]
if self.class.to_s.match('Stake::Stack')
# Create the release notes page. Only run on parent stack
notes = "#{@name} Release Notes"
page_names.push notes
doc.remove :with_name => notes
doc.create :new => :page, :with_name => notes, :with_content => self.release_notes
end
# Create the settings page
settings = "#{@name} Settings"
page_names.push settings
doc.remove :with_name => settings
doc.create :new => :page, :with_name => settings, :with_content => self.to_md
page_names.each do |page_name|
# Add the meta tags to the product page
page = doc.pages[page_name]
puts page_name
page.remove_meta_record :with_key => "description"
page.remove_meta_record :with_key => "url"
page.remove_meta_record :with_key => "name"
page.remove_meta_record :with_key => "image"
page.remove_meta_record :with_key => "version"
page.remove_meta_record :with_key => "stacks_version"
page.add_meta_record :with_value => {'version' => @version_str}
page.add_meta_record :with_value => {'stacks_version' => @stacks_version}
page.add_meta_record :with_value => {'subtitle' => @subtitle}
page.add_meta_record :with_value => {'url' => @info_url}
page.add_meta_record :with_value => {'image' => @basename + '@128.png'}
page.add_meta_record :with_value => {'name' => @name}
end
각 블록에는 3 개의 페이지에 동일한 메타 태그가 추가됩니다. 그러나 태그는 3 페이지 중 2 페이지에만 추가됩니다. 예를 들어 "배지"라는 이름을 사용하면 여기에 내 페이지 이름이 있습니다.
배열의 순서에 관계없이 "배지"페이지에는 항상 올바르게 태그가 지정됩니다. 그러나 다른 2 페이지는 처음 처리됩니다. 다른 하나는 그렇지 않습니다.
페이지 이름에 공백이있을 수도 있습니다. 그러나 그것은 중요하지 않습니다. 나는 똑같은 행동을한다. 코드를 발견하면 동적으로 두 페이지를 모두 동적으로 생성합니다.
나는 또한 타이밍 문제 일 수 있다고 생각하여 수면을 추가하려고 시도했습니다. 아니.
막혔습니다. 도움.