Spaces:
Runtime error
Runtime error
feat: writing headline checklist, based on 2 sources for now
Browse files
README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
---
|
2 |
title: Medium Headline
|
3 |
-
emoji:
|
4 |
colorFrom: green
|
5 |
colorTo: red
|
6 |
sdk: streamlit
|
|
|
1 |
---
|
2 |
title: Medium Headline
|
3 |
+
emoji: 👀
|
4 |
colorFrom: green
|
5 |
colorTo: red
|
6 |
sdk: streamlit
|
app.py
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
|
3 |
+
headline = st.text_input(
|
4 |
+
"Your headline idea",
|
5 |
+
help="Type here what you got and we'll fix it then, don't worry.",
|
6 |
+
)
|
7 |
+
red = '<p style="color:#C6F1D6;">{}</p>' # TODO consider error box and success box
|
8 |
+
green = '<p style="color:#FF8080;">{}</p>'
|
9 |
+
st.markdown(red.format("abcd"), unsafe_allow_html=True)
|
10 |
+
st.markdown(green.format("defg"), unsafe_allow_html=True)
|
11 |
+
|
12 |
+
# Use columns or expander to organise that
|
13 |
+
|
14 |
+
st.header("Make sure your headline answers below questions:")
|
15 |
+
st.checkbox("What the story is about?")
|
16 |
+
st.checkbox("Why the story matters now?")
|
17 |
+
|
18 |
+
st.header("Consider below actions:")
|
19 |
+
st.checkbox(
|
20 |
+
"Share the headline with a few writing peers and see what they think the story is about."
|
21 |
+
)
|
22 |
+
|
23 |
+
st.header("Follow below principles:")
|
24 |
+
st.checkbox(
|
25 |
+
"Be direct.",
|
26 |
+
help="Your story is among many a reader is browsing. Be straightforward in what it is about.",
|
27 |
+
)
|
28 |
+
st.checkbox(
|
29 |
+
"Use conventional language.",
|
30 |
+
help="Avoid jargon, and think of what makes sense in casual conversation. Know the language that your audience is familiar with.",
|
31 |
+
)
|
32 |
+
st.checkbox(
|
33 |
+
"Focus on what’s interesting.",
|
34 |
+
help="Be straightforward about why a reader should read the article. Don’t bury or hide this.",
|
35 |
+
)
|
36 |
+
st.checkbox(
|
37 |
+
"Deliver on your promises.",
|
38 |
+
help="You’re building a relationship with your readers. The headline sets the expectations, and the story must deliver on that.",
|
39 |
+
)
|
40 |
+
st.checkbox(
|
41 |
+
"If you want to be poetic or clever in your headline, follow it up with a strong subheadline.",
|
42 |
+
help="You may want to be poetic, clever, or artistic in the title. The challenge with crafting a title this way is that it becomes opaque. It’s also much easier to write a bad title when striving for something poetic or clever than if you’re going for clarity. In most cases, the reader won’t click to find out more because they didn’t understand what the story was about in the first place.",
|
43 |
+
)
|
44 |
+
|
45 |
+
st.header("Guiding questions to consider:")
|
46 |
+
st.checkbox("Could the headline be clearer?")
|
47 |
+
st.checkbox("Is the headline specific enough?")
|
48 |
+
st.checkbox("Does the tone reflect the voice or point of view of the article?")
|
49 |
+
st.checkbox("How might the headline convey what is unique about the story?")
|
50 |
+
st.checkbox("Is the headline clear and honest about what the story offers the reader?")
|
51 |
+
|
52 |
+
st.header("Avoid:")
|
53 |
+
st.checkbox("all caps") # implement
|
54 |
+
st.checkbox("all typos") # implement
|
55 |
+
st.checkbox("links") # implement
|
56 |
+
st.checkbox("profanity") # implement?
|
57 |
+
st.checkbox("exaggeration")
|
58 |
+
st.checkbox("mystery")
|
59 |
+
st.checkbox(
|
60 |
+
"particularly bold, hyperbolic, absolutist, or deliberately provocative claims"
|
61 |
+
)
|
62 |
+
st.checkbox("exploiting the readers’ emotions and insecurities")
|
63 |
+
st.checkbox(
|
64 |
+
"obvious questions",
|
65 |
+
help="Instead, see if there is a way to highlight the tension that the story conveys. Note that if a reader doesn’t share this question, they’ll skip over the piece. Also note that even if they do, they might skim the piece to find the answer, and leave.",
|
66 |
+
)
|
67 |
+
st.checkbox(
|
68 |
+
"biases",
|
69 |
+
help="“Be aware of who is in the room writing the headline and what the limits of their perspective might be,” shares Rawls. Often biases will show up in the adjectives you use, so double-check the ones you use, and consider what they may unintentionally express.",
|
70 |
+
)
|
71 |
+
|
72 |
+
"In the short term this may help drive traffic, but in the long term it undermines your integrity as a writer."
|
73 |
+
|
74 |
+
st.header("Viral tips:")
|
75 |
+
st.checkbox(
|
76 |
+
"The key to writing a tempting benefit-based headline is to be specific.",
|
77 |
+
help="“How to Wake Up Smiling: The 9 Decisions That Led To A Life I Love”\n“This 3-Minute Exercise Will Change the Way You Solve Problems”\n“How I Doubled My Writing Income Overnight By Focusing on One Skill”",
|
78 |
+
)
|
79 |
+
st.checkbox(
|
80 |
+
"Negative headlines outperform positive ones.",
|
81 |
+
help="“Six Habits of Deeply Happy People“\n“7 Things You Should Do in the Morning“\n“A Rarely Mentioned Relationship Virtue That Strengthens Couples“\n\nV.S\n\n“Six Habits of Deeply Miserable People”\n“7 Things You Should Never Do in the Morning“\n“A Rarely Mentioned Relationship Sin That Bulldozes Couples”",
|
82 |
+
)
|
83 |
+
st.checkbox(
|
84 |
+
"Offer unconventional wisdom.",
|
85 |
+
help="“Six Habits of Deeply Happy People“\n“7 Things You Should Do in the Morning“\n“A Rarely Mentioned Relationship Virtue That Strengthens Couples“\n\nV.S\n\n“Six Habits of Deeply Miserable People”\n“7 Things You Should Never Do in the Morning“\n“A Rarely Mentioned Relationship Sin That Bulldozes Couples”",
|
86 |
+
)
|
87 |
+
st.checkbox(
|
88 |
+
"Make it controversial and divisive.",
|
89 |
+
help="Here are a few perfect examples:\n“You Will Destroy Yourself Financially If You Save”\n“Pepsi’s $32 Billion Typo Caused Deadly Riots”\n“11 Things Socially Aware People Don’t Say”",
|
90 |
+
) # TODO explain it is in opposite to Meodum guidelines
|
91 |
+
st.checkbox(
|
92 |
+
"Share practical life advice that puts Universities to shame.",
|
93 |
+
help="“A Behind the Scenes Look at My Writing Schedule That’s Helped Write 5000+ Articles”\n“Steve Jobs Advice Turned This Programmer Into A Billionaire”\n“8 Really Small Things That Tell You a Lot About Someone”",
|
94 |
+
)
|
95 |
+
|
96 |
+
st.header("Sources:")
|
97 |
+
st.markdown(
|
98 |
+
"""[”How to Write a Headline” by Medium Creators](https://medium.com/creators-hub/how-to-write-a-headline-a72ab3449150)"""
|
99 |
+
)
|
100 |
+
st.markdown(
|
101 |
+
"""[”5 Majestic Headline Secrets from Medium’s Most Viral Writers” by Nick Waghorn](https://bettermarketing.pub/5-majestic-headline-secrets-from-mediums-most-viral-writers-506753732dc9)"""
|
102 |
+
)
|
103 |
+
|
104 |
+
# TODO https://medium.com/creators-hub/how-to-write-a-compelling-headline-that-isnt-clickbait-7cb816cec438
|
105 |
+
# TODO https://medium.com/creators-hub/23-examples-of-effective-headlines-2e7f753476f1
|
106 |
+
# some guidelines repeat
|