Skip to content
This repository was archived by the owner on Apr 8, 2025. It is now read-only.

Display domain docstrings in the search results #42

Merged
merged 4 commits into from
Aug 28, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions sphinx_search/static/css/rtd_sphinx_search.css
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
height: 30px;
font-size: 19px;
outline: none;
box-sizing: border-box;

/* Other */
background-color: #fcfcfc;
Expand Down Expand Up @@ -191,6 +192,7 @@
width: 20%;
font-size: 15px;
margin-right: 10px;
word-break: break-all;
overflow-x: hidden;
}

Expand Down Expand Up @@ -269,6 +271,11 @@
text-decoration: underline;
}

.search__domain_role_name {
font-size: 80%;
letter-spacing: 1px;
}

@media (max-width: 670px) {
.rtd__search__credits {
height: 50px;
Expand Down
2 changes: 1 addition & 1 deletion sphinx_search/static/css/rtd_sphinx_search.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 18 additions & 44 deletions sphinx_search/static/js/rtd_sphinx_search.js
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,9 @@ const get_domain_html = (domainData, page_link) => {
<div class="outer_div_page_results" id="<%= domain_id %>"> \
<span class="search__result__subheading"> \
<%= domain_subheading %> \
<div class="search__domain_role_name"> \
<%= domain_role_name %> \
</div> \
</span> \
<p class="search__result__content"><%= domain_content %></p> \
</div> \
Expand All @@ -257,68 +260,37 @@ const get_domain_html = (domainData, page_link) => {

let domain_link = `${page_link}#${domainData._source.anchor}`;
let domain_role_name = domainData._source.role_name;
let domain_type_display = domainData._source.type_display;
let domain_doc_display = domainData._source.doc_display;
let domain_display_name = domainData._source.display_name;
let domain_name = domainData._source.name;
let domain_docstrings =
domainData._source.docstrings.substr(0, MAX_SUBSTRING_LIMIT) + " ...";

// take values from highlighted fields (if present)
if (domainData.highlight !== undefined && domainData.highlight !== null) {
let highlight = domainData.highlight;

let name = getHighlightListData(highlight, "domains.name");
let display_name = getHighlightListData(
highlight,
"domains.display_name"
);
let type_display = getHighlightListData(
highlight,
"domains.type_display"
);
let docstrings = getHighlightListData(highlight, "domains.docstrings");

if (name) {
domain_name = name[0];
}

if (display_name) {
domain_display_name = display_name[0];
}

if (type_display) {
domain_type_display = type_display[0];
if (docstrings) {
domain_docstrings = docstrings[0];
}
}

// preparing domain_content
let domain_content = "";
if (_is_string(domain_type_display)) {
// domain_content = type_display --
domain_content += domain_type_display + " -- ";
}
if (_is_string(domain_name)) {
// domain_content = type_display -- name
domain_content += domain_name + " ";
}
if (_is_string(domain_doc_display)) {
// domain_content = type_display -- name -- in doc_display
domain_content += "-- in " + domain_doc_display;
}

let domain_subheading = "";
if (_is_string(domain_display_name)) {
// domain_subheading = (role_name) display_name
domain_subheading = "(" + domain_role_name + ") " + domain_display_name;
} else {
// domain_subheading = role_name
domain_subheading = domain_role_name;
}

let domain_subheading = domain_name;
let domain_content = domain_docstrings;
let domain_id = "hit__" + COUNT;
domain_role_name = "[" + domain_role_name + "]";

let domain_html = $u.template(domain_template, {
domain_link: domain_link,
domain_id: domain_id,
domain_content: domain_content,
domain_subheading: domain_subheading
domain_subheading: domain_subheading,
domain_role_name: domain_role_name
});

return domain_html;
Expand All @@ -340,7 +312,7 @@ const generateSingleResult = (resultData, projectName) => {
</h2> \
</a>';

let page_link = `${resultData.link}${DOCUMENTATION_OPTIONS.FILE_SUFFIX}`;
let page_link = READTHEDOCS_DATA.canonical_url + resultData.full_path;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason for this change? I don't know if we should be forcibly changing domains in search results, it feels less than ideal.

Copy link
Member Author

@dojutsu-user dojutsu-user Aug 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No... I forgot to update this PR.
This change was done when I got confused with serving static files from nginx
I have undoed this change.

let page_link_highlight =
page_link + "?highlight=" + encodeURIComponent(SEARCH_QUERY);

Expand Down Expand Up @@ -823,6 +795,8 @@ window.addEventListener("DOMContentLoaded", evt => {
search_outer_input.dispatchEvent(event);
}
} else {
console.log("[INFO] Docs are not being served on Read the Docs, readthedocs-sphinx-search will not work.")
console.log(
"[INFO] Docs are not being served on Read the Docs, readthedocs-sphinx-search will not work."
);
}
});
Loading