Skip to content

Commit 91f4c45

Browse files
Merge pull request #150 from ContentsViewer/pre
tagデザイン修正. タグ提示調整
2 parents 8d8586f + 9a10831 commit 91f4c45

File tree

3 files changed

+68
-43
lines changed

3 files changed

+68
-43
lines changed

Client/ContentsViewer/ContentsViewerStandard.css

Lines changed: 51 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -745,14 +745,13 @@ ul.tagline {
745745
padding: 0;
746746
list-style: none;
747747
}
748-
749748
ul.tagline li {
749+
position: relative;
750750
display: inline-block;
751751
/* margin: 0 0 .3em 1em; */
752752
margin: 0 0 2px 10px;
753753
padding: 0;
754754
}
755-
756755
ul.tagline li a,
757756
ul.tagline li a:visited {
758757
position: relative;
@@ -768,10 +767,6 @@ ul.tagline li a:visited {
768767
-webkit-transition: 0.2s;
769768
transition: 0.2s;
770769
}
771-
ul.tagline li.suggested a,
772-
ul.tagline li.suggested a:visited{
773-
opacity: 0.5;
774-
}
775770
ul.tagline li a::before {
776771
position: absolute;
777772
top: 0;
@@ -798,30 +793,62 @@ ul.tagline li a::after {
798793
background-color: #fff;
799794
border-radius: 100%;
800795
}
801-
802-
ul.tagline li span {
796+
ul.tagline li.suggested a,
797+
ul.tagline li.suggested a:visited{
798+
border: solid 1px #3498db;
799+
border-left: none;
800+
height: 18px;
801+
line-height: 18px;;
802+
background-color: transparent;
803+
color: #3498db;
804+
}
805+
ul.tagline li.suggested a::after{
806+
background-color: #3498db;
807+
}
808+
ul.tagline li.suggested a::before {
809+
top: -1px;
810+
}
811+
ul.tagline li.suggested::after {
812+
position: absolute;
813+
content: "";
814+
width: 0;
815+
height: 0;
816+
left: -9px;
817+
top: 50%;
818+
margin-top: -8px;
819+
border-color: transparent #fff transparent transparent;
820+
border-style: solid;
821+
border-width: 9px 9px 9px 0px;
822+
pointer-events: none;
823+
-webkit-transition: 0.2s;
824+
transition: 0.2s;
825+
}
826+
/* ul.tagline li span {
803827
display: block;
804828
max-width: 100px;
805829
white-space: nowrap;
806830
text-overflow: ellipsis;
807831
overflow: hidden;
808-
}
809-
832+
} */
810833
ul.tagline li a:hover {
811-
background-color: #555;
812-
color: #fff;
834+
background-color: #555 !important;
835+
color: #fff !important;
836+
border-color: #555 !important;
813837
}
814-
815838
ul.tagline li a:hover::before {
816-
border-right-color: #555;
839+
border-right-color: #555 !important;
840+
}
841+
ul.tagline li.suggested a:hover::after{
842+
background-color: #fff;
843+
}
844+
ul.tagline li.suggested:hover::after{
845+
opacity: 0;
817846
}
818-
819847
.left-right-content-link-container {
820848
margin-top: 41px;
821849
margin-bottom: 19px;
822850
overflow: hidden;
823851
}
824-
825852
a.left-content-link,
826853
a.right-content-link {
827854
background-color: rgba(206, 128, 0, 0.5);
@@ -1998,6 +2025,14 @@ a.directory .name, a.file .name{
19982025
[theme="dark"] ul.tagline li a:not(:hover) {
19992026
background-color: var(--tag-background-color);
20002027
}
2028+
[theme="dark"] ul.tagline li.suggested a:not(:hover) {
2029+
background-color: transparent;
2030+
border-color: var(--tag-background-color);
2031+
color: var(--tag-background-color);
2032+
}
2033+
[theme="dark"] ul.tagline li.suggested::after {
2034+
border-color: transparent #1f1f1f transparent transparent;
2035+
}
20012036
[theme="dark"] ul.tagline li a:not(:hover)::before {
20022037
border-color: transparent var(--tag-background-color) transparent transparent;
20032038
}

Frontend/contents-viewer.php

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
$metaFileName = ContentsDatabaseManager::GetRelatedMetaFileName($contentPath);
100100
// メタデータの読み込み
101101
ContentsDatabaseManager::LoadRelatedMetadata($contentPath);
102+
$tag2path = array_key_exists('tag2path', ContentsDatabase::$metadata) ? ContentsDatabase::$metadata['tag2path'] : [];
102103

103104

104105
// --- navigator作成 -------------------------------------------------
@@ -158,18 +159,12 @@
158159
ContentsDatabase::SaveMetadata($metaFileName);
159160

160161
$suggestedTags = [];
161-
if(SearchEngine\Index::Load(
162-
CONTENTS_HOME_DIR . $vars['rootDirectory'] . '/.index.tagmap' . $layerSuffix
163-
)){
164-
$titleQuery = NotBlankText(
165-
[$currentContent->title, ContentsDatabaseManager::GetContentPathInfo($currentContent->path)['filename']]
166-
);
167-
$suggestions = SearchEngine\Searcher::Search($titleQuery);
168-
foreach($suggestions as $i => $suggested){
169-
if($suggested['score'] < 0.8 || in_array($suggested['id'], $currentContent->tags, true)){
170-
continue;
171-
}
172-
$suggestedTags[] = $suggested['id'];
162+
$contentTitle = NotBlankText(
163+
[$currentContent->title, ContentsDatabaseManager::GetContentPathInfo($currentContent->path)['filename']]
164+
);
165+
foreach($tag2path as $tag => $paths){
166+
if(strpos($contentTitle, $tag) !== false && !in_array($tag, $currentContent->tags, true)){
167+
$suggestedTags[] = $tag;
173168
}
174169
}
175170

@@ -230,8 +225,7 @@
230225

231226
// tagList と 最新のコンテンツ 設定
232227
if ($currentContent->IsRoot()){
233-
$vars['tagList'] = (array_key_exists('tag2path', ContentsDatabase::$metadata) ?
234-
ContentsDatabase::$metadata['tag2path'] : []);
228+
$vars['tagList'] = $tag2path;
235229
$out = ContentsDatabaseManager::GetSortedContentsByUpdatedTime(array_keys(ContentsDatabase::$metadata['latest']));
236230

237231
ContentsDatabase::LoadMetadata($metaFileName);

Frontend/related-viewer.php

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
$vars['rootContentPath'] = ContentsDatabaseManager::GetRelatedRootFile($vars['contentPath']);
3131
$vars['rootDirectory'] = substr(GetTopDirectory($vars['rootContentPath']), 1);
3232

33-
// ContentsDatabaseManager::LoadRelatedMetadata($vars['rootContentPath']);
34-
// $tag2path = array_key_exists('tag2path', ContentsDatabase::$metadata) ? ContentsDatabase::$metadata['tag2path'] : [];
33+
ContentsDatabaseManager::LoadRelatedMetadata($vars['rootContentPath']);
34+
$tag2path = array_key_exists('tag2path', ContentsDatabase::$metadata) ? ContentsDatabase::$metadata['tag2path'] : [];
3535
// $path2tag = array_key_exists('path2tag', ContentsDatabase::$metadata) ? ContentsDatabase::$metadata['path2tag'] : [];
3636
// ksort($tag2path);
3737

@@ -72,16 +72,11 @@
7272
$title = NotBlankText(
7373
[$currentContent->title, ContentsDatabaseManager::GetContentPathInfo($currentContent->path)['filename']]
7474
);
75-
76-
if(SearchEngine\Index::Load(
77-
CONTENTS_HOME_DIR . $vars['rootDirectory'] . '/.index.tagmap' . $layerSuffix
78-
)){
79-
$suggestions = SearchEngine\Searcher::Search($title);
80-
foreach($suggestions as $i => $suggested){
81-
if($suggested['score'] < 0.8 || in_array($suggested['id'], $currentContent->tags, true)){
82-
continue;
83-
}
84-
$titleTagSuggestions[] = ['tag' => $suggested['id'], 'suggestions' => []];
75+
$titleTagFullMatch = false;
76+
foreach($tag2path as $tag => $paths){
77+
if(strpos($title, $tag) !== false && !in_array($tag, $currentContent->tags, true)){
78+
$titleTagFullMatch = ($title === $tag);
79+
$titleTagSuggestions[] = ['tag' => $tag, 'suggestions' => []];
8580
}
8681
}
8782

@@ -94,7 +89,8 @@
9489
$titleQuery = NotBlankText([$parent->title, $parentPathInfo['filename']]) . ' ' . $titleQuery;
9590
}
9691
}
97-
if($title !== $titleQuery || count($titleTagSuggestions) <= 0){
92+
93+
if(!$titleTagFullMatch || $titleQuery !== $title){
9894
$titleSuggestions = SelectSuggestions(
9995
SearchEngine\Searcher::Search($titleQuery), $currentContent->path, $childPathList, 0.5
10096
);

0 commit comments

Comments
 (0)