2014-10-25 2 views
2

middleman을 사이트로 사용하여 온라인 수업을 구성하는 것에 관심이 있습니다. 따라서 중개인의 블로그 시스템이 블로그 게시물을 날짜순으로 정렬하는 방식을 수정하고 싶습니다. 챕터 번호와 강의 번호별로 정렬하고 싶습니다.Middleman 블로그 - 사용자 정의 정렬

대신 최신 게시물을 먼저 배치하는 대신 1 장 - 1 단원을 먼저 배치하는 등의 작업을 수행 할 수 있습니다. 현재 각 게시물의 날짜 순서를 바꿔서 해킹 할 수 있습니다.

게시물 정렬 방법을 수정하는 간단한 방법이 있습니까? 그렇지 않다면 Rail의 이니셜 라이저 파일처럼 이것을 대체 할 수있는 방법이 있습니까?

감사합니다.

답변

1
  1. Frontmatter을 통해 챕터 및 강의 수를 제공하십시오.
  2. Ruby의 sort_by을 사용하면 정렬 할 필드 배열을 허용 할 수 있습니다.

    pages = [ 
        { 
        chapter: 2, 
        lesson: 1 
        }, 
        { 
        chapter: 1, 
        lesson: 2 
        }, 
        { 
        chapter: 2, 
        lesson: 2 
        }, 
        { 
        chapter: 1, 
        lesson: 1 
        } 
    ] 
    
    pages.sort_by { |page| 
        [ 
        page[:chapter], 
        page[:lesson] 
        ] 
    } 
    
    # => [ 
    #  {"chapter"=>1, "lesson"=>1}, 
    #  {"chapter"=>1, "lesson"=>2}, 
    #  {"chapter"=>2, "lesson"=>1}, 
    #  {"chapter"=>2, "lesson"=>2} 
    # ] 
    

    라이브 데모 : http://rubyfiddle.com/riddles/29e55

    당신이 무슨 뜻인지 이해하기 위해 여기

는 일부 코드입니다