2011-08-14 5 views
2

이것이 내 첫 번째 질문이라고 생각합니다. 나는 꽤 많은 시간 동안 StackOverflow에 잠복 해왔다. 이제는 내게 큰 도움이되었다. 스크립트가 그것을 매쉬 - 나는 지킬처럼 작동 작은 정적 사이트 발전기를 쓰고 있어요YAML on Textile Parsing

은 (최종 사용자는 YAML에서 섬유 헤더 (메타 정보)에서 자신의 페이지 내용이 기록 템플릿을 사용하면 서버가 렌더링하는 디렉토리에있는 모든 것을 파이썬으로 저장합니다. 나는 술을 배우기 위해 파이썬을 위해 이것을하고있다.

yaml 파일을 사전으로 구문 분석 할 수 있습니다. 파이썬으로 모든 것을 파이썬으로 html로 변환 할 수있다. 문제는 다음과 같습니다 : 섬유 파일에서 yaml을 파싱하고 동일한 파일에서 섬유를 파싱하려면 어떻게해야합니까?

지금 당장은 yaml과 텍스타일 콘텐츠 사이에 줄 간격 기호를 넣는 것이 좋습니다. 예.

--- 
someyaml: someyamlcontent 
anothervariable: somevalue 
andsoon: 
- something 
- somestuff 
--- 

_all the textile content goes here_ as well as all the **osm** here. 

아이디어의 나의 종류는 파이썬 YAML이 들어오는 그 후 다음 '---'수동 라인을 읽고 현재의 라인 인 경우 == 물어이었다; '---'이 돌아 왔을 때 파이썬 섬유가 돌아 서서 작동합니다.

다른 방법이 있습니까?

미리 감사드립니다. :)

+0

작동하는 것처럼 들리지만, http://stackoverflow.com/questions/6816236/loading-document-as-raw-string-in-yaml-with-pyyaml에서 다른 읽기 예제를 확인하고 싶을 수도 있습니다. YAML 문서의 임의의 데이터. 거의 답변으로 게시했지만 실제로는 다른 방법이 아닙니다. 이미 이야기하고있는 것을 성취하는 것입니다. – agf

+0

첫 번째 질문에 환영하며 축하드립니다. @agf가 가리키는 링크는 하나의 경로입니다. 나는 조금 더 높은 수준의 세부 사항과 함께 여기에 답변을 올렸다. 행운을 빕니다. –

+0

고마워! 게시물 agf 게시 나를 위해 잘 작동합니다. – jpanganiban

답변

1

모든 파일의 형식이 같고 YAML을 사용한다고 가정하면 파일을 단일 문자열로 읽은 다음 "---"으로 문자열을 분할하여 배열로 끝낼 수 있습니다 .

내가 비단뱀 사람이 아니지만, 나는이 다음에 배열 생성해야한다고 생각 :

  • 인덱스 0 - 빈
  • 지수 1 - 당신의 YAML 헤더
  • 색인이-N을 - 귀하의 본문 내용.

여기에서 YAML에 대한 색인 1을 처리 한 다음 본문 내용을 별도로 처리 할 수 ​​있습니다. 다른 "---"문자열이 있으면 본문 내용이 여러 배열 요소로 분할됩니다. 따라서 인덱스 2를 그 뒤에있는 다른 모든 인덱스와 조인하고 싶을 것입니다 (조인하는 동안 "---"문자열을 다시 추가하십시오).