Repository: DDMAL/CantusDB

Issue:
On Chant Detail page, in the Source Navigation sidebar, indicate current chant
Currently, on the chant detail page, there is a sidebar that lists the chants on the current folio as well as on nearby folios. In the sidebar, there is no indication of which chant is currently being displayed:
![Screen Shot 2022-12-15 at 1 19 53 PM](https://user-images.githubusercontent.com/58090591/207939496-fdcb9a9a-1fa2-4dc3-a447-7c0d89b771bf.png)

It might be helpful if we visually indicated somehow the chant that is currently being displayed.
Possible options:
1. Bold it
2. make it not be a link
3. add a little arrow pointing to the chant
4. a combination of 2. and 3., or maybe all three of the options above.

For example, here's a quick mockup of option 4:

![Screen Shot 2022-12-15 at 1 34 09 PM](https://user-images.githubusercontent.com/58090591/207940198-55b1d25e-f5f8-4bb7-af0a-9299d4d6c081.png)



Discussion:
I would like to enthusiastically endorse this enhancement!! Many are the times I have stared at the navigation menu, trying to work out WHICH chant is actually the immediately preceding one...
I think bolding it might look nicer than the little arrow (which suggests some sort of drop-down function to me) but I'm not sure. 

Resolving patch:
diff --git a/django/cantusdb_project/align_text_mel.py b/django/cantusdb_project/align_text_mel.py
--- a/django/cantusdb_project/align_text_mel.py
+++ b/django/cantusdb_project/align_text_mel.py
@@ -155,7 +155,6 @@ def syllabize_melody(volpiano):
         # remove the trailing "--" (added in previous line) from the last syllable
         syls[-1] = syls[-1][:-2]
         syls_melody.append(syls)
-    # print(syls_melody)
     return syls_melody
 
 


Test patch:
diff --git a/django/cantusdb_project/main_app/tests/make_fakes.py b/django/cantusdb_project/main_app/tests/make_fakes.py
--- a/django/cantusdb_project/main_app/tests/make_fakes.py
+++ b/django/cantusdb_project/main_app/tests/make_fakes.py
@@ -266,7 +266,7 @@ def make_fake_source(published=None, title=None, segment=None, segment_name=None
     # tuples and we only need the first element of each tuple
 
     if title is None:
-        title = make_fake_text(LONG_CHAR_FIELD_MAX)
+        title = faker.sentence()
     if siglum is None:
         siglum = make_fake_text(SHORT_CHAR_FIELD_MAX)
     if description is None:
diff --git a/django/cantusdb_project/main_app/tests/test_views.py b/django/cantusdb_project/main_app/tests/test_views.py
--- a/django/cantusdb_project/main_app/tests/test_views.py
+++ b/django/cantusdb_project/main_app/tests/test_views.py
@@ -752,6 +752,7 @@ def test_keyword_search_contains(self):
     def test_source_link_column(self):
         siglum = "Sigl-01"
         source = make_fake_source(published=True, siglum=siglum)
+        source_title = source.title
         url = source.get_absolute_url()
         fulltext = "manuscript full text"
         search_term = "full"
@@ -764,8 +765,9 @@ def test_source_link_column(self):
         )
         html = str(response.content)
         self.assertIn(siglum, html)
+        self.assertIn(source_title, html)
         self.assertIn(url, html)
-        self.assertIn(f'<a href="{url}">{siglum}</a>', html)
+        self.assertIn(f'<a href="{url}" title="{source_title}">{siglum}</a>', html)
         
     def test_folio_column(self):
         source = make_fake_source(published=True)
@@ -786,6 +788,7 @@ def test_feast_column(self):
         source = make_fake_source(published=True)
         feast = make_fake_feast()
         feast_name = feast.name
+        feast_description = feast.description
         url = feast.get_absolute_url()
         fulltext = "manuscript full text"
         search_term = "full"
@@ -799,8 +802,9 @@ def test_feast_column(self):
         )
         html = str(response.content)
         self.assertIn(feast_name, html)
+        self.assertIn(feast_description, html)
         self.assertIn(url, html)
-        self.assertIn(f'<a href="{url}">{feast_name}</a>', html)
+        self.assertIn(f'<a href="{url}" title="{feast_description}">{feast_name}</a>', html)
         
     def test_office_column(self):
         source = make_fake_source(published=True)