outrank-cli 0.7.0 → 0.8.0

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.
@@ -1,5 +1,6 @@
1
1
  import { defineGroup } from '../registry.js';
2
2
  import { backlinksGroup } from './backlinks.js';
3
+ import { blogGroup } from './blog.js';
3
4
  import {
4
5
  competitorsGroup,
5
6
  outputSettingsGroup,
@@ -78,6 +79,10 @@ export const PRODUCTS_HELP = `Usage:
78
79
  outrank-cli products backlinks reverify <product-id> <backlink-id>
79
80
  outrank-cli products backlinks subscription <product-id>
80
81
  outrank-cli products backlinks subscribe-quote <product-id> --plan premium|enterprise
82
+ outrank-cli products blog get <product-id>
83
+ outrank-cli products blog create <product-id> [--json <object>]
84
+ outrank-cli products blog posts list <product-id>
85
+ outrank-cli products blog --help (design, domain, posts, pages, categories, authors, redirects, snippets, subscribers, webhooks)
81
86
 
82
87
  JSON Input:
83
88
  Use one of: --json '<object>', --json-file payload.json, or --json-stdin
@@ -142,6 +147,8 @@ Examples:
142
147
  outrank-cli products backlinks reverify 00000000-0000-0000-0000-000000000000 11111111-1111-1111-1111-111111111111
143
148
  outrank-cli products backlinks subscription 00000000-0000-0000-0000-000000000000
144
149
  outrank-cli products backlinks subscribe-quote 00000000-0000-0000-0000-000000000000 --plan premium
150
+ outrank-cli products blog create 00000000-0000-0000-0000-000000000000 --json '{"subdomain":"acme","template":"editorial","accentColor":"#2563EB"}'
151
+ outrank-cli products blog posts update-content 00000000-0000-0000-0000-000000000000 11111111-1111-1111-1111-111111111111 --json-file post.json
145
152
  `;
146
153
 
147
154
  export const productsGroup = defineGroup({
@@ -150,7 +157,7 @@ export const productsGroup = defineGroup({
150
157
  usage: PRODUCTS_HELP,
151
158
  guidance:
152
159
  'Choose one of: list, get, create, update, pause, resume, integrations, output-settings, target-audiences, ' +
153
- 'competitors, gsc, linking, backlinks.',
160
+ 'competitors, gsc, linking, backlinks, blog.',
154
161
  },
155
162
  unknown: (word) => ({
156
163
  message: `Unknown products subcommand: ${word}.`,
@@ -170,5 +177,6 @@ export const productsGroup = defineGroup({
170
177
  gscGroup,
171
178
  linkingGroup,
172
179
  backlinksGroup,
180
+ blogGroup,
173
181
  ],
174
182
  });
@@ -22,6 +22,7 @@ export const Toolset = Object.freeze({
22
22
  MARKETPLACE_SELLER: 'marketplace-seller',
23
23
  MARKETPLACE_BUYER: 'marketplace-buyer',
24
24
  BILLING: 'billing',
25
+ BLOG: 'blog',
25
26
  });
26
27
 
27
28
  export const BodyMode = Object.freeze({
@@ -45,6 +45,24 @@ export const GSC_SEARCH_ANALYTICS_MAX_LIMIT = 1000;
45
45
  export const KEYWORDS_GENERATE_MIN_COUNT = 5;
46
46
  export const KEYWORDS_GENERATE_MAX_COUNT = 30;
47
47
 
48
+ export const BLOG_LIST_MIN_PAGE = 1;
49
+ export const BLOG_TEMPLATES = Object.freeze(['classic', 'editorial', 'journal', 'studio', 'minimal']);
50
+ export const BLOG_ANALYTICS_RANGES = Object.freeze(['7d', '30d', '90d']);
51
+ export const BLOG_DOMAIN_MODES = Object.freeze(['subdomain', 'apex', 'subfolder']);
52
+ export const BLOG_POST_LIST_STATUSES = Object.freeze(['all', 'published', 'scheduled', 'draft']);
53
+ export const BLOG_SUBSCRIBER_STATUSES = Object.freeze(['subscribed', 'unsubscribed']);
54
+ export const BLOG_PREVIEW_DESIGN_SCOPE = 'design';
55
+ export const BLOG_PREVIEW_SCOPES = Object.freeze([BLOG_PREVIEW_DESIGN_SCOPE, 'post', 'page']);
56
+ export const BLOG_PAGE_STATUSES = Object.freeze(['draft', 'published']);
57
+ export const BLOG_PAGE_LAYOUTS = Object.freeze(['default', 'wide']);
58
+ export const BLOG_SNIPPET_KINDS = Object.freeze(['cta', 'html', 'newsletter']);
59
+ export const BLOG_SNIPPET_KINDS_WITH_REQUIRED_CONTENT = Object.freeze(['cta', 'html']);
60
+ export const BLOG_POSITION_MAX = 10_000;
61
+ export const BLOG_MAX_POSITIONS_PER_REQUEST = 100;
62
+ export const BLOG_REDIRECT_GONE_STATUS_CODE = 410;
63
+ export const BLOG_REDIRECT_STATUS_CODES = Object.freeze([301, 302, BLOG_REDIRECT_GONE_STATUS_CODE]);
64
+ export const BLOG_WEBHOOK_EVENTS = Object.freeze(['subscriber.created']);
65
+
48
66
  export const BILLING_MIN_ADDITIONAL_PRODUCTS = 1;
49
67
  export const BILLING_MAX_ADDITIONAL_PRODUCTS = 30;
50
68
  export const BILLING_MIN_CONFIRM_CHARGE_CENTS = 0;