package sagan.projects.support; import org.jsoup.nodes.Document; import sagan.projects.Project; import sagan.search.SearchEntryMapper; import sagan.search.types.ProjectPage; public class GithubPagesSearchEntryMapper implements SearchEntryMapper<Document> { private final Project project; public GithubPagesSearchEntryMapper(Project project) { this.project = project; } @Override public ProjectPage map(Document document) { ProjectPage entry = new ProjectPage(); String text = document.getElementsByClass("body--container").text(); entry.setRawContent(text); entry.setSummary(text.substring(0, Math.min(500, text.length()))); entry.setTitle(document.title()); entry.setPath(document.baseUri()); entry.addFacetPaths("Projects", "Projects/Homepage", "Projects/" + project.getName()); return entry; } }