Skip to content

Commit b62582b

Browse files
committed
Edit the output style to match the preference for MkDocs
Replaces postprocessing at https://github.com/mkdocs/catalog/blob/57f05e34859a68b47710a7e387c19bf6f1245eed/reformat.py
1 parent 4e07c02 commit b62582b

File tree

2 files changed

+12
-31
lines changed

2 files changed

+12
-31
lines changed

src/best_of/default_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def prepare_configuration(cfg: dict) -> Dict:
5959
config.hide_empty_categories = False
6060

6161
if "max_description_length" not in config:
62-
config.max_description_length = 55
62+
config.max_description_length = 100
6363

6464
if "min_description_length" not in config:
6565
config.min_description_length = MIN_PROJECT_DESC_LENGTH

src/best_of/generators/markdown_list.py

Lines changed: 11 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,10 @@ def generate_metrics_info(project: Dict, configuration: Dict) -> str:
8383
metrics_md = status_md
8484

8585
if metrics_md:
86-
# add divider if metrics are available
87-
metrics_md = "(" + metrics_md + ")"
8886
# remove unneccesary whitespaces
8987
utils.clean_whitespaces(metrics_md)
90-
# Add whitespace
91-
metrics_md = metrics_md + " "
88+
# add divider if metrics are available
89+
metrics_md = " - " + metrics_md
9290

9391
return metrics_md
9492

@@ -153,8 +151,8 @@ def generate_project_labels(project: Dict, labels: list) -> Tuple[str, int]:
153151
label_md = '<a href="' + label_info.url + '">' + label_md + "</a>"
154152

155153
if label_md:
156-
# Add a single space in front of label:
157-
labels_md += " " + label_md.strip()
154+
# Add a separator between labels:
155+
labels_md += " · " + label_md.strip()
158156
labels_text_length += LABEL_SPACING_LENGTH
159157

160158
return (labels_md, labels_text_length)
@@ -200,7 +198,7 @@ def generate_license_info(project: Dict, configuration: Dict) -> Tuple[str, int]
200198
license_md += " <code>Unlicensed</code>"
201199
else:
202200
license_md += " <code>❗Unlicensed</code>"
203-
return license_md, license_length
201+
return " ·" + license_md, license_length
204202

205203

206204
def generate_project_body(project: Dict, configuration: Dict, labels: list) -> str:
@@ -258,7 +256,6 @@ def generate_project_md(
258256

259257
metadata_md = ""
260258
if license_md and labels_md:
261-
# TODO: add " · " in between?
262259
metadata_md = license_md + labels_md
263260
elif license_md:
264261
metadata_md = license_md
@@ -276,41 +273,25 @@ def generate_project_md(
276273
if project.labels:
277274
label_count = len(project.labels)
278275

279-
if license_len:
280-
# Add spacing to length
281-
license_len += 2
282-
283-
desc_length = int(
284-
round(
285-
max(
286-
configuration.max_description_length,
287-
105
288-
- (len(project.name) * 1.3)
289-
- len(metrics_md)
290-
- license_len
291-
- (label_count * 5),
292-
)
293-
)
294-
)
295276
description = utils.process_description(
296277
project.description,
297-
desc_length,
278+
configuration.max_description_length,
298279
ascii_only=configuration.ascii_description,
299280
)
300281

301282
# target="_blank"
283+
if description:
284+
description = f"<br>{description}"
302285
if project.resource:
303-
if description:
304-
description = f"- {description}"
305-
project_md = '🔗&nbsp;<b><a href="{homepage}">{name}</a></b> {metrics} {description}{metadata}\n'.format(
286+
project_md = '🔗&nbsp;<b><a href="{homepage}">{name}</a></b> {metrics}{metadata}{description}\n'.format(
306287
homepage=project.homepage,
307288
name=project.name,
308289
description=description,
309290
metrics=metrics_md,
310291
metadata=metadata_md,
311292
)
312293
elif generate_body:
313-
project_md = '<details><summary><b><a href="{homepage}">{name}</a></b> {metrics}- {description}{metadata}</summary>{body}</details>'.format(
294+
project_md = '<details><summary><b><a href="{homepage}">{name}</a></b> {metrics}{metadata}{description}</summary>{body}</details>'.format(
314295
homepage=project.homepage,
315296
name=project.name,
316297
description=description,
@@ -320,7 +301,7 @@ def generate_project_md(
320301
)
321302
else:
322303
# don't use details format
323-
project_md = '- <b><a href="{homepage}">{name}</a></b> {metrics}- {description}{metadata}'.format(
304+
project_md = '- <b><a href="{homepage}">{name}</a></b> {metrics}{metadata}{description}'.format(
324305
homepage=project.homepage,
325306
name=project.name,
326307
description=description,

0 commit comments

Comments
 (0)