ultimate-jekyll-manager 0.0.129 → 0.0.131
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +0 -1
- package/dist/commands/migrate.js +15 -1
- package/dist/defaults/dist/_layouts/themes/classy/frontend/pages/team/member.html +6 -26
- package/dist/defaults/dist/_team/{alex.md → alex-raeburn.md} +15 -9
- package/dist/defaults/dist/_team/alfred-caufy.md +35 -0
- package/dist/defaults/dist/_team/{ian.md → ian-wiedenman.md} +18 -11
- package/dist/defaults/dist/_team/james-oconnor.md +39 -0
- package/dist/defaults/dist/_team/marcus-johnson.md +43 -0
- package/dist/defaults/dist/_team/priya-sharma.md +42 -0
- package/dist/defaults/dist/_team/rare-ivy.md +48 -0
- package/dist/defaults/dist/_team/sarah-rodriguez.md +42 -0
- package/dist/defaults/src/assets/images/team/alfred-caufy/profile.jpg +0 -0
- package/dist/defaults/src/assets/images/team/james-oconnor/profile.jpg +0 -0
- package/dist/defaults/src/assets/images/team/marcus-johnson/profile.jpg +0 -0
- package/dist/defaults/src/assets/images/team/priya-sharma/profile.jpg +0 -0
- package/dist/defaults/src/assets/images/team/rare-ivy/profile.jpg +0 -0
- package/dist/defaults/src/assets/images/team/sarah-rodriguez/profile.jpg +0 -0
- package/firebase-debug.log +28 -0
- package/package.json +1 -1
- package/dist/commands/repo.js +0 -41
- /package/dist/defaults/src/assets/images/team/{alex → alex-raeburn}/profile.jpg +0 -0
- /package/dist/defaults/src/assets/images/team/{ian → ian-wiedenman}/profile.jpg +0 -0
package/dist/cli.js
CHANGED
package/dist/commands/migrate.js
CHANGED
|
@@ -290,7 +290,21 @@ async function fixPostsLayout() {
|
|
|
290
290
|
modified = true;
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
-
// 4.
|
|
293
|
+
// 4. Migrate post.author from old format to new format (first-last)
|
|
294
|
+
const authorMigrations = {
|
|
295
|
+
'alex': 'alex-raeburn',
|
|
296
|
+
'ian': 'ian-wiedenman',
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
Object.entries(authorMigrations).forEach(([oldAuthor, newAuthor]) => {
|
|
300
|
+
const authorRegex = new RegExp(`^(\\s*author:\\s*)(['"]?)${oldAuthor}\\2\\s*$`, 'gm');
|
|
301
|
+
if (frontmatter.match(authorRegex)) {
|
|
302
|
+
frontmatter = frontmatter.replace(authorRegex, `$1${newAuthor}`);
|
|
303
|
+
modified = true;
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
// 5. Remove ad unit includes from content
|
|
294
308
|
const adUnitRegex = /{%\s*include\s+\/master\/modules\/adunits\/adsense-in-article\.html\s+index="[^"]*"\s*%}/g;
|
|
295
309
|
const cleanedContent = restOfContent.replace(adUnitRegex, '');
|
|
296
310
|
|
|
@@ -27,31 +27,11 @@ layout: themes/[ site.theme.id ]/frontend/core/base
|
|
|
27
27
|
<!-- Social Links -->
|
|
28
28
|
{% iftruthy page.member.links %}
|
|
29
29
|
<div class="d-flex justify-content-center gap-2 mb-4">
|
|
30
|
-
{%
|
|
31
|
-
<a href="{{
|
|
32
|
-
{% uj_icon
|
|
30
|
+
{% for link in page.member.links %}
|
|
31
|
+
<a href="{{ link.url }}" class="btn btn-outline-primary avatar avatar-lg rounded-circle d-flex align-items-center justify-content-center" target="_blank" rel="nofollow noopener" title="{{ link.title }}">
|
|
32
|
+
{% uj_icon link.id, "" %}
|
|
33
33
|
</a>
|
|
34
|
-
{%
|
|
35
|
-
{% iftruthy page.member.links.linkedin %}
|
|
36
|
-
<a href="{{ page.member.links.linkedin }}" class="btn btn-outline-primary avatar avatar-lg rounded-circle d-flex align-items-center justify-content-center" target="_blank" rel="nofollow noopener">
|
|
37
|
-
{% uj_icon "linkedin", "" %}
|
|
38
|
-
</a>
|
|
39
|
-
{% endiftruthy %}
|
|
40
|
-
{% iftruthy page.member.links.instagram %}
|
|
41
|
-
<a href="{{ page.member.links.instagram }}" class="btn btn-outline-primary avatar avatar-lg rounded-circle d-flex align-items-center justify-content-center" target="_blank" rel="nofollow noopener">
|
|
42
|
-
{% uj_icon "instagram", "" %}
|
|
43
|
-
</a>
|
|
44
|
-
{% endiftruthy %}
|
|
45
|
-
{% iftruthy page.member.links.twitter %}
|
|
46
|
-
<a href="{{ page.member.links.twitter }}" class="btn btn-outline-primary avatar avatar-lg rounded-circle d-flex align-items-center justify-content-center" target="_blank" rel="nofollow noopener">
|
|
47
|
-
{% uj_icon "twitter", "" %}
|
|
48
|
-
</a>
|
|
49
|
-
{% endiftruthy %}
|
|
50
|
-
{% iftruthy page.member.links.github %}
|
|
51
|
-
<a href="{{ page.member.links.github }}" class="btn btn-outline-primary avatar avatar-lg rounded-circle d-flex align-items-center justify-content-center" target="_blank" rel="nofollow noopener">
|
|
52
|
-
{% uj_icon "github", "" %}
|
|
53
|
-
</a>
|
|
54
|
-
{% endiftruthy %}
|
|
34
|
+
{% endfor %}
|
|
55
35
|
</div>
|
|
56
36
|
{% endiftruthy %}
|
|
57
37
|
|
|
@@ -107,7 +87,7 @@ layout: themes/[ site.theme.id ]/frontend/core/base
|
|
|
107
87
|
{% uj_icon "briefcase", "text-light fs-2" %}
|
|
108
88
|
</div>
|
|
109
89
|
<h4 class="mb-2">Skills</h4>
|
|
110
|
-
<p class="text-muted mb-0">{{ page.member.skills }}</p>
|
|
90
|
+
<p class="text-muted mb-0">{{ page.member.skills | join: ", " }}</p>
|
|
111
91
|
</div>
|
|
112
92
|
</div>
|
|
113
93
|
</div>
|
|
@@ -121,7 +101,7 @@ layout: themes/[ site.theme.id ]/frontend/core/base
|
|
|
121
101
|
{% uj_icon "heart", "text-light fs-2" %}
|
|
122
102
|
</div>
|
|
123
103
|
<h4 class="mb-2">Hobbies</h4>
|
|
124
|
-
<p class="text-muted mb-0">{{ page.member.hobbies }}</p>
|
|
104
|
+
<p class="text-muted mb-0">{{ page.member.hobbies | join: ", " }}</p>
|
|
125
105
|
</div>
|
|
126
106
|
</div>
|
|
127
107
|
</div>
|
|
@@ -6,18 +6,24 @@ sitemap:
|
|
|
6
6
|
|
|
7
7
|
### TEAM MEMBER PAGES ###
|
|
8
8
|
member:
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
id: alex-raeburn
|
|
10
|
+
name: "Alex Raeburn"
|
|
11
|
+
position: "Social Media Manager"
|
|
11
12
|
description: "Alex is an experienced social media expert from Beverly Hills, CA and is a major contributor to our blog."
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
hobbies:
|
|
13
|
+
location: "Beverly Hills, CA"
|
|
14
|
+
skills:
|
|
15
|
+
- "Writing"
|
|
16
|
+
- "Blog Management"
|
|
17
|
+
hobbies:
|
|
18
|
+
- "Instagram"
|
|
17
19
|
joined: 2017-10-20
|
|
18
20
|
links:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
- id: "linkedin"
|
|
22
|
+
title: "LinkedIn"
|
|
23
|
+
url: "https://www.linkedin.com/in/alexraeburn"
|
|
24
|
+
- id: "instagram"
|
|
25
|
+
title: "Instagram"
|
|
26
|
+
url: "https://www.instagram.com/alexraeburn"
|
|
21
27
|
---
|
|
22
28
|
|
|
23
29
|
Hey everyone, I'm Alex. I was born and raised in Beverly Hills, CA. Writing and technology have always been an important part of my life and I'm excited to be a part of this project.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: alfred-caufy
|
|
10
|
+
name: "Alfred Caufy"
|
|
11
|
+
position: "Lead Developer"
|
|
12
|
+
description: "Alfred is a passionate full-stack developer with over 8 years of experience building scalable web applications. He leads our development team and is dedicated to crafting elegant solutions to complex problems."
|
|
13
|
+
location: "San Francisco, CA"
|
|
14
|
+
skills:
|
|
15
|
+
- "JavaScript"
|
|
16
|
+
- "Python"
|
|
17
|
+
- "Cloud Architecture"
|
|
18
|
+
- "DevOps"
|
|
19
|
+
hobbies:
|
|
20
|
+
- "Open Source"
|
|
21
|
+
- "Chess"
|
|
22
|
+
- "Hiking"
|
|
23
|
+
joined: 2019-03-15
|
|
24
|
+
links:
|
|
25
|
+
- id: "linkedin"
|
|
26
|
+
title: "LinkedIn"
|
|
27
|
+
url: "https://www.linkedin.com/in/alfred-caufy"
|
|
28
|
+
- id: "github"
|
|
29
|
+
title: "GitHub"
|
|
30
|
+
url: "https://github.com/alfred-caufy"
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
Alfred brings a wealth of technical expertise and leadership to our team. With a background in computer science from Stanford University, he has worked at several tech startups before joining us to help build innovative solutions.
|
|
34
|
+
|
|
35
|
+
His passion for clean code and best practices has helped establish our development standards and mentorship programs. When he's not coding, you can find him contributing to open-source projects or exploring the trails around the Bay Area.
|
|
@@ -6,20 +6,27 @@ sitemap:
|
|
|
6
6
|
|
|
7
7
|
### TEAM MEMBER PAGES ###
|
|
8
8
|
member:
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
id: ian-wiedenman
|
|
10
|
+
name: "Ian Wiedenman"
|
|
11
|
+
position: "CEO"
|
|
11
12
|
description: "Ian is the founder and CEO of our company. He has a passion for technology and is always looking for ways to improve our products."
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
hobbies:
|
|
13
|
+
location: "Los Angeles, CA"
|
|
14
|
+
skills:
|
|
15
|
+
- "Software Development"
|
|
16
|
+
- "Business Management"
|
|
17
|
+
hobbies:
|
|
18
|
+
- "Music"
|
|
17
19
|
joined: 2017-04-20
|
|
18
|
-
|
|
19
20
|
links:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
- id: "website"
|
|
22
|
+
title: "Website"
|
|
23
|
+
url: "https://ianwiedenman.com"
|
|
24
|
+
- id: "linkedin"
|
|
25
|
+
title: "LinkedIn"
|
|
26
|
+
url: "https://www.linkedin.com/in/ianwiedenman"
|
|
27
|
+
- id: "instagram"
|
|
28
|
+
title: "Instagram"
|
|
29
|
+
url: "https://www.instagram.com/ianwiedenman"
|
|
23
30
|
---
|
|
24
31
|
|
|
25
32
|
Hey everyone, I'm Ian.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: james-oconnor
|
|
10
|
+
name: "James O'Connor"
|
|
11
|
+
position: "Sales Lead"
|
|
12
|
+
description: "James leads our sales efforts with enthusiasm and a consultative approach. He's helped build our sales playbook from scratch and is passionate about understanding customer needs."
|
|
13
|
+
location: "Boston, MA"
|
|
14
|
+
skills:
|
|
15
|
+
- "B2B Sales"
|
|
16
|
+
- "Negotiation"
|
|
17
|
+
- "CRM Management"
|
|
18
|
+
- "Pipeline Development"
|
|
19
|
+
- "Demos"
|
|
20
|
+
hobbies:
|
|
21
|
+
- "Golf"
|
|
22
|
+
- "Boston Sports"
|
|
23
|
+
- "Cooking"
|
|
24
|
+
joined: 2019-11-01
|
|
25
|
+
links:
|
|
26
|
+
- id: "linkedin"
|
|
27
|
+
title: "LinkedIn"
|
|
28
|
+
url: "https://www.linkedin.com/in/jamesoconnor"
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
Hey! I'm James.
|
|
32
|
+
|
|
33
|
+
I've been in B2B sales for over 8 years, and what I love most is helping businesses find solutions that genuinely make their lives easier. I'm not about the hard sell - I believe in understanding what customers actually need and being honest about whether we're the right fit.
|
|
34
|
+
|
|
35
|
+
Before joining the team, I was at a SaaS company in the HR tech space where I consistently exceeded quota and helped train new sales reps. When I saw the opportunity to join an early-stage startup and build a sales function from the ground up, I jumped at it.
|
|
36
|
+
|
|
37
|
+
I've helped develop our sales playbook, demo scripts, and qualification criteria. I work closely with our marketing and product teams to make sure we're telling a consistent story and learning from every customer interaction.
|
|
38
|
+
|
|
39
|
+
Outside of work, I'm a die-hard Boston sports fan (go Celtics!) and spend my weekends on the golf course trying to break 80. I also love to cook - my Sunday sauce recipe has been passed down for three generations.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: marcus-johnson
|
|
10
|
+
name: "Marcus Johnson"
|
|
11
|
+
position: "Product Designer"
|
|
12
|
+
description: "Marcus is our lead Product Designer with a background in cognitive psychology and human-computer interaction. He crafts intuitive user experiences that delight our customers."
|
|
13
|
+
location: "Austin, TX"
|
|
14
|
+
skills:
|
|
15
|
+
- "UI/UX Design"
|
|
16
|
+
- "Figma"
|
|
17
|
+
- "User Research"
|
|
18
|
+
- "Prototyping"
|
|
19
|
+
- "Design Systems"
|
|
20
|
+
hobbies:
|
|
21
|
+
- "Photography"
|
|
22
|
+
- "Vinyl Collecting"
|
|
23
|
+
- "Cycling"
|
|
24
|
+
joined: 2019-06-01
|
|
25
|
+
links:
|
|
26
|
+
- id: "linkedin"
|
|
27
|
+
title: "LinkedIn"
|
|
28
|
+
url: "https://www.linkedin.com/in/marcusjohnson"
|
|
29
|
+
- id: "dribbble"
|
|
30
|
+
title: "Dribbble"
|
|
31
|
+
url: "https://dribbble.com/marcusjohnson"
|
|
32
|
+
- id: "instagram"
|
|
33
|
+
title: "Instagram"
|
|
34
|
+
url: "https://www.instagram.com/marcusjohnson"
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
Hey there, I'm Marcus!
|
|
38
|
+
|
|
39
|
+
Design has always been my way of solving problems. With a Master's in Human-Computer Interaction from Carnegie Mellon and 7 years of product design experience, I've learned that great design is invisible - it just works.
|
|
40
|
+
|
|
41
|
+
Before joining the team, I led design at a health-tech startup where I redesigned their patient portal, increasing user satisfaction by 40%. That experience taught me the power of user research and iterative design.
|
|
42
|
+
|
|
43
|
+
I'm passionate about building design systems that scale and mentoring junior designers. Outside of work, I'm an amateur street photographer and have an ever-growing collection of jazz vinyl. You might also catch me on the trails around Austin on my gravel bike.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: priya-sharma
|
|
10
|
+
name: "Priya Sharma"
|
|
11
|
+
position: "Customer Success Manager"
|
|
12
|
+
description: "Priya ensures our customers get maximum value from our products. With her background in consulting and customer advocacy, she bridges the gap between user needs and product development."
|
|
13
|
+
location: "Chicago, IL"
|
|
14
|
+
skills:
|
|
15
|
+
- "Customer Relations"
|
|
16
|
+
- "Onboarding"
|
|
17
|
+
- "Training"
|
|
18
|
+
- "Product Feedback"
|
|
19
|
+
- "Account Management"
|
|
20
|
+
hobbies:
|
|
21
|
+
- "Yoga"
|
|
22
|
+
- "Volunteering"
|
|
23
|
+
- "Podcasts"
|
|
24
|
+
joined: 2020-05-20
|
|
25
|
+
links:
|
|
26
|
+
- id: "linkedin"
|
|
27
|
+
title: "LinkedIn"
|
|
28
|
+
url: "https://www.linkedin.com/in/priyasharma"
|
|
29
|
+
- id: "twitter"
|
|
30
|
+
title: "Twitter"
|
|
31
|
+
url: "https://twitter.com/priyasharma"
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
Hi there, I'm Priya!
|
|
35
|
+
|
|
36
|
+
I'm passionate about helping customers succeed. After 5 years in management consulting at Deloitte, I realized my favorite part of the job was working directly with clients to solve their problems. That's what led me to customer success.
|
|
37
|
+
|
|
38
|
+
In my role, I'm the voice of the customer within our company. I work closely with our users to understand their needs, help them get the most out of our products, and bring their feedback to our product and engineering teams.
|
|
39
|
+
|
|
40
|
+
I believe that customer success isn't just about solving problems - it's about building relationships and truly understanding what our users are trying to achieve. Every customer interaction is an opportunity to learn and improve.
|
|
41
|
+
|
|
42
|
+
When I'm not on calls with customers, I teach yoga classes at a local community center and volunteer with a nonprofit that provides tech education to underserved youth. I'm also a podcast addict - always happy to share recommendations!
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: rare-ivy
|
|
10
|
+
name: "Rare Ivy"
|
|
11
|
+
position: "Content Creator"
|
|
12
|
+
description: "Ivy is our in-house content creator, producing engaging videos, graphics, and social content that brings our brand to life. Her creative vision and storytelling abilities captivate audiences across all platforms."
|
|
13
|
+
location: "Brooklyn, NY"
|
|
14
|
+
skills:
|
|
15
|
+
- "Video Production"
|
|
16
|
+
- "Graphic Design"
|
|
17
|
+
- "Social Media"
|
|
18
|
+
- "Adobe Creative Suite"
|
|
19
|
+
- "Storytelling"
|
|
20
|
+
hobbies:
|
|
21
|
+
- "Film Photography"
|
|
22
|
+
- "Thrifting"
|
|
23
|
+
- "DJing"
|
|
24
|
+
joined: 2021-04-12
|
|
25
|
+
links:
|
|
26
|
+
- id: "linkedin"
|
|
27
|
+
title: "LinkedIn"
|
|
28
|
+
url: "https://www.linkedin.com/in/rareivy"
|
|
29
|
+
- id: "instagram"
|
|
30
|
+
title: "Instagram"
|
|
31
|
+
url: "https://www.instagram.com/rareivy"
|
|
32
|
+
- id: "tiktok"
|
|
33
|
+
title: "TikTok"
|
|
34
|
+
url: "https://www.tiktok.com/@rareivy"
|
|
35
|
+
- id: "youtube"
|
|
36
|
+
title: "YouTube"
|
|
37
|
+
url: "https://www.youtube.com/@rareivy"
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
Hey, I'm Ivy!
|
|
41
|
+
|
|
42
|
+
I'm a multi-disciplinary content creator with a passion for visual storytelling. From short-form TikToks to long-form YouTube videos, I love crafting content that connects with people on an emotional level.
|
|
43
|
+
|
|
44
|
+
Before going in-house, I built my own following as an independent creator, which taught me what resonates with audiences and how to stay authentic while meeting brand goals. I studied film at NYU and worked at a creative agency before joining the team.
|
|
45
|
+
|
|
46
|
+
My role spans everything creative - shooting and editing videos, designing graphics for social, writing scripts, and constantly experimenting with new formats and platforms. I believe the best content comes from genuine curiosity and a willingness to try things that might not work.
|
|
47
|
+
|
|
48
|
+
When I'm not behind a camera or in Premiere Pro, you'll find me hunting for vintage gems at Brooklyn thrift stores, shooting 35mm film around the city, or DJing at local venues. Always looking for the next creative spark!
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
### ALL PAGES ###
|
|
3
|
+
layout: blueprint/team/member
|
|
4
|
+
sitemap:
|
|
5
|
+
include: true
|
|
6
|
+
|
|
7
|
+
### TEAM MEMBER PAGES ###
|
|
8
|
+
member:
|
|
9
|
+
id: sarah-rodriguez
|
|
10
|
+
name: "Sarah Rodriguez"
|
|
11
|
+
position: "Marketing Director"
|
|
12
|
+
description: "Sarah leads our marketing efforts with a data-driven approach and creative flair. She has scaled multiple startups from seed to Series B through innovative growth strategies."
|
|
13
|
+
location: "Miami, FL"
|
|
14
|
+
skills:
|
|
15
|
+
- "Growth Marketing"
|
|
16
|
+
- "Content Strategy"
|
|
17
|
+
- "SEO"
|
|
18
|
+
- "Analytics"
|
|
19
|
+
- "Brand Development"
|
|
20
|
+
hobbies:
|
|
21
|
+
- "Salsa Dancing"
|
|
22
|
+
- "Travel"
|
|
23
|
+
- "Creative Writing"
|
|
24
|
+
joined: 2019-09-10
|
|
25
|
+
links:
|
|
26
|
+
- id: "linkedin"
|
|
27
|
+
title: "LinkedIn"
|
|
28
|
+
url: "https://www.linkedin.com/in/sarahrodriguez"
|
|
29
|
+
- id: "twitter"
|
|
30
|
+
title: "Twitter"
|
|
31
|
+
url: "https://twitter.com/sarahrodriguez"
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
Hola! I'm Sarah.
|
|
35
|
+
|
|
36
|
+
Marketing is storytelling backed by data, and I love both equally. With 8 years in growth marketing, I've helped startups find their voice and reach the customers who need them most.
|
|
37
|
+
|
|
38
|
+
I started my career at a digital agency in New York before catching the startup bug. Since then, I've been hooked on the energy of building something from the ground up. I joined the team to build a world-class marketing engine and tell our story to the world.
|
|
39
|
+
|
|
40
|
+
My approach combines creative brand-building with rigorous analytics. I believe every marketing dollar should be accountable, but that doesn't mean we can't have fun along the way.
|
|
41
|
+
|
|
42
|
+
When I'm not optimizing funnels or crafting campaigns, you'll find me on the dance floor - I've been doing salsa for over 10 years. I also have a goal to visit 50 countries before 40 (currently at 34!).
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/firebase-debug.log
CHANGED
|
@@ -1654,3 +1654,31 @@
|
|
|
1654
1654
|
[debug] [2025-12-03T05:02:35.192Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1655
1655
|
[debug] [2025-12-03T05:02:35.192Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1656
1656
|
[debug] [2025-12-03T05:02:35.192Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1657
|
+
[debug] [2025-12-03T09:13:23.486Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1658
|
+
[debug] [2025-12-03T09:13:23.487Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1659
|
+
[debug] [2025-12-03T09:13:23.488Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1660
|
+
[debug] [2025-12-03T09:13:23.488Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1661
|
+
[debug] [2025-12-03T09:13:23.488Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1662
|
+
[debug] [2025-12-03T09:13:23.496Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1663
|
+
[debug] [2025-12-03T09:13:23.497Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1664
|
+
[debug] [2025-12-03T09:13:23.489Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1665
|
+
[debug] [2025-12-03T09:13:23.489Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1666
|
+
[debug] [2025-12-03T09:13:23.489Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1667
|
+
[debug] [2025-12-03T09:13:23.500Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1668
|
+
[debug] [2025-12-03T09:13:23.501Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1669
|
+
[debug] [2025-12-03T09:13:23.639Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1670
|
+
[debug] [2025-12-03T09:13:23.640Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1671
|
+
[debug] [2025-12-03T09:13:23.641Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1672
|
+
[debug] [2025-12-03T09:13:23.642Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1673
|
+
[debug] [2025-12-03T09:13:23.643Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1674
|
+
[debug] [2025-12-03T09:13:23.643Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1675
|
+
[debug] [2025-12-03T09:13:23.644Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1676
|
+
[debug] [2025-12-03T09:13:23.644Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1677
|
+
[debug] [2025-12-03T09:13:23.650Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1678
|
+
[debug] [2025-12-03T09:13:23.650Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1679
|
+
[debug] [2025-12-03T09:13:23.651Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1680
|
+
[debug] [2025-12-03T09:13:23.651Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1681
|
+
[debug] [2025-12-03T09:13:23.653Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1682
|
+
[debug] [2025-12-03T09:13:23.653Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
|
1683
|
+
[debug] [2025-12-03T09:13:23.654Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
|
|
1684
|
+
[debug] [2025-12-03T09:13:23.654Z] > authorizing via signed-in user (ian.wiedenman@gmail.com)
|
package/package.json
CHANGED
package/dist/commands/repo.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
// Libraries
|
|
2
|
-
const Manager = new (require('../build.js'));
|
|
3
|
-
const logger = Manager.logger('repo');
|
|
4
|
-
const { execute } = require('node-powertools');
|
|
5
|
-
|
|
6
|
-
module.exports = async function () {
|
|
7
|
-
// Log
|
|
8
|
-
logger.log(`Opening GitHub repository...`);
|
|
9
|
-
|
|
10
|
-
try {
|
|
11
|
-
// Get the remote URL
|
|
12
|
-
const result = await execute('git remote get-url origin', { log: false });
|
|
13
|
-
let url = result.stdout.trim();
|
|
14
|
-
|
|
15
|
-
if (!url) {
|
|
16
|
-
throw new Error('No git remote origin found');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Convert SSH URL to HTTPS URL if needed
|
|
20
|
-
// git@github.com:user/repo.git -> https://github.com/user/repo
|
|
21
|
-
if (url.startsWith('git@')) {
|
|
22
|
-
url = url
|
|
23
|
-
.replace('git@', 'https://')
|
|
24
|
-
.replace(':', '/')
|
|
25
|
-
.replace(/\.git$/, '');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Remove .git suffix if present
|
|
29
|
-
url = url.replace(/\.git$/, '');
|
|
30
|
-
|
|
31
|
-
logger.log(`Repository URL: ${url}`);
|
|
32
|
-
|
|
33
|
-
// Open the URL in the default browser
|
|
34
|
-
await execute(`open "${url}"`, { log: false });
|
|
35
|
-
|
|
36
|
-
logger.log(logger.format.green('✓ Opened repository in browser'));
|
|
37
|
-
} catch (e) {
|
|
38
|
-
logger.error('Failed to open repository:', e.message);
|
|
39
|
-
throw e;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
File without changes
|
|
File without changes
|