@jjlmoya/utils-astronomy 1.24.0 → 1.26.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.
- package/package.json +2 -2
- package/src/category/i18n/de.ts +57 -57
- package/src/category/i18n/en.ts +1 -1
- package/src/category/i18n/es.ts +1 -1
- package/src/category/i18n/fr.ts +58 -58
- package/src/category/i18n/it.ts +1 -1
- package/src/category/i18n/nl.ts +57 -57
- package/src/category/i18n/pl.ts +57 -57
- package/src/category/i18n/pt.ts +1 -1
- package/src/category/i18n/ru.ts +57 -57
- package/src/category/i18n/sv.ts +57 -57
- package/src/category/i18n/zh.ts +57 -57
- package/src/category/index.ts +30 -30
- package/src/category/seo.astro +15 -15
- package/src/components/PreviewNavSidebar.astro +116 -116
- package/src/components/PreviewToolbar.astro +143 -143
- package/src/data.ts +16 -16
- package/src/env.d.ts +5 -5
- package/src/index.ts +22 -22
- package/src/layouts/PreviewLayout.astro +122 -122
- package/src/pages/[locale].astro +251 -251
- package/src/pages/index.astro +4 -4
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +2 -2
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_translation_completeness.test.ts +75 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_structure.test.ts +71 -71
- package/src/tests/tool_validation.test.ts +146 -146
- package/src/tool/bortleVisualizer/bibliography.astro +14 -14
- package/src/tool/bortleVisualizer/bibliography.ts +8 -8
- package/src/tool/bortleVisualizer/i18n/pl.ts +159 -159
- package/src/tool/bortleVisualizer/i18n/ru.ts +159 -159
- package/src/tool/deepSpaceScope/bibliography.astro +14 -14
- package/src/tool/deepSpaceScope/component.astro +382 -382
- package/src/tool/deepSpaceScope/i18n/de.ts +172 -172
- package/src/tool/deepSpaceScope/i18n/ko.ts +172 -172
- package/src/tool/deepSpaceScope/i18n/pl.ts +172 -172
- package/src/tool/deepSpaceScope/i18n/ru.ts +172 -172
- package/src/tool/deepSpaceScope/i18n/zh.ts +172 -172
- package/src/tool/smartEyepieceCalculator/component.astro +125 -125
- package/src/tool/smartEyepieceCalculator/i18n/fr.ts +165 -165
- package/src/tool/smartEyepieceCalculator/i18n/ru.ts +165 -165
- package/src/tool/smartEyepieceCalculator/i18n/zh.ts +165 -165
- package/src/tool/starExposureCalculator/bibliography.astro +14 -14
- package/src/tool/starExposureCalculator/bibliography.ts +7 -7
- package/src/tool/starExposureCalculator/component.astro +249 -249
- package/src/tool/starExposureCalculator/i18n/pl.ts +156 -156
- package/src/tool/starExposureCalculator/i18n/ru.ts +156 -156
- package/src/tool/telescopeResolution/bibliography.astro +14 -14
- package/src/tool/telescopeResolution/component.astro +222 -222
- package/src/tool/telescopeResolution/i18n/de.ts +169 -169
- package/src/tool/telescopeResolution/i18n/en.ts +169 -169
- package/src/tool/telescopeResolution/i18n/es.ts +169 -169
- package/src/tool/telescopeResolution/i18n/fr.ts +169 -169
- package/src/tool/telescopeResolution/i18n/id.ts +169 -169
- package/src/tool/telescopeResolution/i18n/it.ts +169 -169
- package/src/tool/telescopeResolution/i18n/ja.ts +169 -169
- package/src/tool/telescopeResolution/i18n/ko.ts +169 -169
- package/src/tool/telescopeResolution/i18n/nl.ts +169 -169
- package/src/tool/telescopeResolution/i18n/pl.ts +169 -169
- package/src/tool/telescopeResolution/i18n/pt.ts +169 -169
- package/src/tool/telescopeResolution/i18n/ru.ts +169 -169
- package/src/tool/telescopeResolution/i18n/sv.ts +169 -169
- package/src/tool/telescopeResolution/i18n/tr.ts +169 -169
- package/src/tool/telescopeResolution/i18n/zh.ts +169 -169
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
import { bibliography } from '../bibliography';
|
|
2
|
-
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
-
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
4
|
-
|
|
5
|
-
const slug = 'kalkulyatorregregli500';
|
|
6
|
-
const title = 'Калькулятор правила 500 и NPF для астрофотографии';
|
|
7
|
-
const description = 'Рассчитайте максимальную выдержку для съемки звезд без смаза (треков). Классическое правило 500 и высокоточная модель NPF для современных камер.';
|
|
8
|
-
|
|
9
|
-
const ui: StarExposureCalculatorUI = {
|
|
10
|
-
toolTitle: 'Калькулятор правила 500',
|
|
11
|
-
modeLabel: 'Режим',
|
|
12
|
-
classicMode: 'Классика (500)',
|
|
13
|
-
npfMode: 'Точный (NPF)',
|
|
14
|
-
sensorLabel: 'Матрица (Кроп-фактор)',
|
|
15
|
-
focalLabel: 'Фокусное расстояние (мм)',
|
|
16
|
-
apertureLabel: 'Диафрагма (f/)',
|
|
17
|
-
megapixelsLabel: 'Разрешение (Мп)',
|
|
18
|
-
declinationLabel: 'Склонение объекта',
|
|
19
|
-
equatorLabel: 'Экватор',
|
|
20
|
-
poleLabel: 'Полюс',
|
|
21
|
-
secondsUnit: 'секунд',
|
|
22
|
-
resultText: 'Макс. время для точечных звезд.',
|
|
23
|
-
simLabel: 'Визуализация (зум 200%)',
|
|
24
|
-
simRangeLabel: 'Симуляция превышения времени',
|
|
25
|
-
pointStars: 'Звезды как точки',
|
|
26
|
-
trailStars: 'Виден смаз звезд',
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const faq: StarExposureCalculatorLocaleContent['faq'] = [
|
|
30
|
-
{
|
|
31
|
-
question: 'Что будет, если превысить расчетное время?',
|
|
32
|
-
answer: 'Если вы превысите максимальную выдержку, звезды вместо четких точек начнут превращаться в овалы. При очень длинных выдержках получатся звездные треки (star trails) - это отдельный художественный прием, требующий гораздо большего времени экспозиции.',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
question: 'Когда использовать NPF вместо правила 500?',
|
|
36
|
-
answer: 'Модель NPF точнее и рекомендуется для современных камер с высоким разрешением (от 24 Мп). Правило 500 может давать смаз, незаметный на маленьких отпечатках, но видимый на 4K-мониторах или больших форматах. Для максимальной резкости используйте NPF.',
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
question: 'Как узнать склонение (Declination) объекта съёмки?',
|
|
40
|
-
answer: 'Используйте приложения Stellarium, SkySafari или звездные карты. Общее правило: чем ближе объект к небесному полюсу (склонение 90°), тем более длинную выдержку можно себе позволить.',
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
question: 'Работает ли этот калькулятор с астротрекером?',
|
|
44
|
-
answer: 'Для самого неба - нет, так как трекер компенсирует вращение Земли. Однако калькулятор важен для расчета выдержки переднего плана, который остается неподвижным, или для проверки работы мотора трекера, если вы видите ошибки ведения.',
|
|
45
|
-
},
|
|
46
|
-
];
|
|
47
|
-
|
|
48
|
-
const howTo: StarExposureCalculatorLocaleContent['howTo'] = [
|
|
49
|
-
{ name: '1. Выберите режим расчета', text: 'Выберите Классический (Правило 500) для быстрой оценки или NPF, если у вас камера с высоким разрешением и важна идеальная резкость.' },
|
|
50
|
-
{ name: '2. Укажите параметры оборудования', text: 'Введите фокусное расстояние объектива и выберите кроп-фактор вашей камеры.' },
|
|
51
|
-
{ name: '3. Настройте склонение', text: 'При съемке вблизи небесного полюса увеличьте склонение, чтобы получить более длинные выдержки без смаза звезд.' },
|
|
52
|
-
{ name: '4. Симулируйте результат', text: 'Используйте слайдер симуляции, чтобы увидеть, как будет выглядеть звезда при превышении расчетного времени.' },
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
const seo: StarExposureCalculatorLocaleContent['seo'] = [
|
|
56
|
-
{
|
|
57
|
-
type: 'summary',
|
|
58
|
-
title: 'Ключевые моменты правила 500 и NPF',
|
|
59
|
-
items: [
|
|
60
|
-
'Правило 500 - хорошее приближение для низкого разрешения и малых форматов просмотра.',
|
|
61
|
-
'Модель NPF гораздо точнее для современных камер с высокой плотностью пикселей.',
|
|
62
|
-
'Небесное склонение позволяет увеличивать выдержку при съемке у полюсов (Dec 90°).',
|
|
63
|
-
'Кроп-фактор матрицы умножает эффективное фокусное расстояние и сокращает макс. выдержку.',
|
|
64
|
-
],
|
|
65
|
-
},
|
|
66
|
-
{ type: 'title', text: 'Мастерство астрофотографии: Правило 500 и Модель NPF', level: 2 },
|
|
67
|
-
{
|
|
68
|
-
type: 'paragraph',
|
|
69
|
-
html: 'Съемка величественного ночного неба - одно из самых вдохновляющих занятий. Однако главным препятствием является вращение Земли. Если оставить затвор открытым слишком долго, идеальные точки света превратятся в некрасивые черточки. Чтобы получить резкие звезды, нужно рассчитать <strong>максимальную выдержку</strong> по Правилу 500 или Модели NPF.',
|
|
70
|
-
},
|
|
71
|
-
{ type: 'title', text: 'Что такое Правило 500?', level: 2 },
|
|
72
|
-
{
|
|
73
|
-
type: 'paragraph',
|
|
74
|
-
html: '<strong>Правило 500</strong> - это упрощенная эмпирическая формула, которая десятилетиями была стандартом в пейзажной астрофотографии. Формула: <code>Время = 500 / (Фокусное расстояние × Кроп-фактор)</code>. Она позволяет быстро считать в уме и достаточно точна для старых камер и малых форматов печати.',
|
|
75
|
-
},
|
|
76
|
-
{ type: 'title', text: 'Кроп-фактор и его влияние', level: 2 },
|
|
77
|
-
{
|
|
78
|
-
type: 'paragraph',
|
|
79
|
-
html: 'Многие новички забывают, что Правило 500 основано на стандарте 35мм (Full Frame). Если у вашей камеры матрица меньше, поле зрения сужается, и движение звезд увеличивается. Объектив 14мм на кропе APS-C (1.5x) ведет себя как 21мм, сокращая время с 35.7с до всего 23.8с.',
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
type: 'table',
|
|
83
|
-
headers: ['Матрица', 'Кроп', '14мм', '24мм', '50мм', '85мм'],
|
|
84
|
-
rows: [
|
|
85
|
-
['Full Frame', '1.0x', '35.7 сек', '20.8 сек', '10.0 сек', '5.9 сек'],
|
|
86
|
-
['APS-C Nikon/Sony', '1.5x', '23.8 сек', '13.9 сек', '6.7 сек', '3.9 сек'],
|
|
87
|
-
['APS-C Canon', '1.6x', '22.3 сек', '13.0 сек', '6.3 сек', '3.7 сек'],
|
|
88
|
-
['Micro 4/3', '2.0x', '17.9 сек', '10.4 сек', '5.0 сек', '2.9 сек'],
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
{ type: 'title', text: 'Модель NPF: Точность для современных камер', level: 2 },
|
|
92
|
-
{
|
|
93
|
-
type: 'paragraph',
|
|
94
|
-
html: 'Правило 500 появилось в эпоху пленки. Сегодня, с матрицами 24-60 Мп, пиксели настолько малы, что смаз заметен гораздо раньше. <strong>Модель NPF</strong>, разработанная Французским астрономическим обществом, добавляет в расчет диафрагму и размер пикселя: <code>t = (35×f + 30×p) / F</code>, где f - диафрагма, p - размер пикселя, а F - фокусное расстояние.',
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
type: 'tip',
|
|
98
|
-
title: 'Склонение: Секрет продвинутых фотографов',
|
|
99
|
-
html: 'Звезды рядом с <strong>небесным полюсом</strong> (Полярная звезда в северном полушарии) описывают на небе очень маленькие круги. Это значит, что они движутся по матрице очень медленно, позволяя делать выдержки в разы длиннее. Если вы снимаете область вокруг Полярной звезды, вы можете удвоить или утроить расчетное время без появления смаза. Склонение (Declination) показывает, насколько близко к полюсу находится ваш объект.',
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
type: 'stats',
|
|
103
|
-
columns: 2,
|
|
104
|
-
items: [
|
|
105
|
-
{ label: '500 Rule - 14mm FF', value: '35.7 сек', icon: 'mdi:timer' },
|
|
106
|
-
{ label: 'NPF - 14mm f/2.8 24MP', value: '~12 сек', icon: 'mdi:timer-sand' },
|
|
107
|
-
{ label: 'Коррекция Dec 60°', value: 'x2.0', icon: 'mdi:compass' },
|
|
108
|
-
{ label: 'Коррекция Dec 80°', value: 'x5.8', icon: 'mdi:compass' },
|
|
109
|
-
],
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
114
|
-
'@context': 'https://schema.org',
|
|
115
|
-
'@type': 'FAQPage',
|
|
116
|
-
mainEntity: faq.map((item) => ({
|
|
117
|
-
'@type': 'Question',
|
|
118
|
-
name: item.question,
|
|
119
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
120
|
-
})),
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
const howToSchema: WithContext<HowTo> = {
|
|
124
|
-
'@context': 'https://schema.org',
|
|
125
|
-
'@type': 'HowTo',
|
|
126
|
-
name: title,
|
|
127
|
-
description,
|
|
128
|
-
step: howTo.map((step) => ({
|
|
129
|
-
'@type': 'HowToStep',
|
|
130
|
-
name: step.name,
|
|
131
|
-
text: step.text,
|
|
132
|
-
})),
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
136
|
-
'@context': 'https://schema.org',
|
|
137
|
-
'@type': 'SoftwareApplication',
|
|
138
|
-
name: title,
|
|
139
|
-
description,
|
|
140
|
-
applicationCategory: 'UtilitiesApplication',
|
|
141
|
-
operatingSystem: 'Web',
|
|
142
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
143
|
-
inLanguage: 'ru',
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
export const content: StarExposureCalculatorLocaleContent = {
|
|
147
|
-
slug,
|
|
148
|
-
title,
|
|
149
|
-
description,
|
|
150
|
-
ui,
|
|
151
|
-
seo,
|
|
152
|
-
faq,
|
|
153
|
-
bibliography,
|
|
154
|
-
howTo,
|
|
155
|
-
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
156
|
-
};
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
2
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
3
|
+
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
4
|
+
|
|
5
|
+
const slug = 'kalkulyatorregregli500';
|
|
6
|
+
const title = 'Калькулятор правила 500 и NPF для астрофотографии';
|
|
7
|
+
const description = 'Рассчитайте максимальную выдержку для съемки звезд без смаза (треков). Классическое правило 500 и высокоточная модель NPF для современных камер.';
|
|
8
|
+
|
|
9
|
+
const ui: StarExposureCalculatorUI = {
|
|
10
|
+
toolTitle: 'Калькулятор правила 500',
|
|
11
|
+
modeLabel: 'Режим',
|
|
12
|
+
classicMode: 'Классика (500)',
|
|
13
|
+
npfMode: 'Точный (NPF)',
|
|
14
|
+
sensorLabel: 'Матрица (Кроп-фактор)',
|
|
15
|
+
focalLabel: 'Фокусное расстояние (мм)',
|
|
16
|
+
apertureLabel: 'Диафрагма (f/)',
|
|
17
|
+
megapixelsLabel: 'Разрешение (Мп)',
|
|
18
|
+
declinationLabel: 'Склонение объекта',
|
|
19
|
+
equatorLabel: 'Экватор',
|
|
20
|
+
poleLabel: 'Полюс',
|
|
21
|
+
secondsUnit: 'секунд',
|
|
22
|
+
resultText: 'Макс. время для точечных звезд.',
|
|
23
|
+
simLabel: 'Визуализация (зум 200%)',
|
|
24
|
+
simRangeLabel: 'Симуляция превышения времени',
|
|
25
|
+
pointStars: 'Звезды как точки',
|
|
26
|
+
trailStars: 'Виден смаз звезд',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const faq: StarExposureCalculatorLocaleContent['faq'] = [
|
|
30
|
+
{
|
|
31
|
+
question: 'Что будет, если превысить расчетное время?',
|
|
32
|
+
answer: 'Если вы превысите максимальную выдержку, звезды вместо четких точек начнут превращаться в овалы. При очень длинных выдержках получатся звездные треки (star trails) - это отдельный художественный прием, требующий гораздо большего времени экспозиции.',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Когда использовать NPF вместо правила 500?',
|
|
36
|
+
answer: 'Модель NPF точнее и рекомендуется для современных камер с высоким разрешением (от 24 Мп). Правило 500 может давать смаз, незаметный на маленьких отпечатках, но видимый на 4K-мониторах или больших форматах. Для максимальной резкости используйте NPF.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
question: 'Как узнать склонение (Declination) объекта съёмки?',
|
|
40
|
+
answer: 'Используйте приложения Stellarium, SkySafari или звездные карты. Общее правило: чем ближе объект к небесному полюсу (склонение 90°), тем более длинную выдержку можно себе позволить.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
question: 'Работает ли этот калькулятор с астротрекером?',
|
|
44
|
+
answer: 'Для самого неба - нет, так как трекер компенсирует вращение Земли. Однако калькулятор важен для расчета выдержки переднего плана, который остается неподвижным, или для проверки работы мотора трекера, если вы видите ошибки ведения.',
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const howTo: StarExposureCalculatorLocaleContent['howTo'] = [
|
|
49
|
+
{ name: '1. Выберите режим расчета', text: 'Выберите Классический (Правило 500) для быстрой оценки или NPF, если у вас камера с высоким разрешением и важна идеальная резкость.' },
|
|
50
|
+
{ name: '2. Укажите параметры оборудования', text: 'Введите фокусное расстояние объектива и выберите кроп-фактор вашей камеры.' },
|
|
51
|
+
{ name: '3. Настройте склонение', text: 'При съемке вблизи небесного полюса увеличьте склонение, чтобы получить более длинные выдержки без смаза звезд.' },
|
|
52
|
+
{ name: '4. Симулируйте результат', text: 'Используйте слайдер симуляции, чтобы увидеть, как будет выглядеть звезда при превышении расчетного времени.' },
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const seo: StarExposureCalculatorLocaleContent['seo'] = [
|
|
56
|
+
{
|
|
57
|
+
type: 'summary',
|
|
58
|
+
title: 'Ключевые моменты правила 500 и NPF',
|
|
59
|
+
items: [
|
|
60
|
+
'Правило 500 - хорошее приближение для низкого разрешения и малых форматов просмотра.',
|
|
61
|
+
'Модель NPF гораздо точнее для современных камер с высокой плотностью пикселей.',
|
|
62
|
+
'Небесное склонение позволяет увеличивать выдержку при съемке у полюсов (Dec 90°).',
|
|
63
|
+
'Кроп-фактор матрицы умножает эффективное фокусное расстояние и сокращает макс. выдержку.',
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{ type: 'title', text: 'Мастерство астрофотографии: Правило 500 и Модель NPF', level: 2 },
|
|
67
|
+
{
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
html: 'Съемка величественного ночного неба - одно из самых вдохновляющих занятий. Однако главным препятствием является вращение Земли. Если оставить затвор открытым слишком долго, идеальные точки света превратятся в некрасивые черточки. Чтобы получить резкие звезды, нужно рассчитать <strong>максимальную выдержку</strong> по Правилу 500 или Модели NPF.',
|
|
70
|
+
},
|
|
71
|
+
{ type: 'title', text: 'Что такое Правило 500?', level: 2 },
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: '<strong>Правило 500</strong> - это упрощенная эмпирическая формула, которая десятилетиями была стандартом в пейзажной астрофотографии. Формула: <code>Время = 500 / (Фокусное расстояние × Кроп-фактор)</code>. Она позволяет быстро считать в уме и достаточно точна для старых камер и малых форматов печати.',
|
|
75
|
+
},
|
|
76
|
+
{ type: 'title', text: 'Кроп-фактор и его влияние', level: 2 },
|
|
77
|
+
{
|
|
78
|
+
type: 'paragraph',
|
|
79
|
+
html: 'Многие новички забывают, что Правило 500 основано на стандарте 35мм (Full Frame). Если у вашей камеры матрица меньше, поле зрения сужается, и движение звезд увеличивается. Объектив 14мм на кропе APS-C (1.5x) ведет себя как 21мм, сокращая время с 35.7с до всего 23.8с.',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'table',
|
|
83
|
+
headers: ['Матрица', 'Кроп', '14мм', '24мм', '50мм', '85мм'],
|
|
84
|
+
rows: [
|
|
85
|
+
['Full Frame', '1.0x', '35.7 сек', '20.8 сек', '10.0 сек', '5.9 сек'],
|
|
86
|
+
['APS-C Nikon/Sony', '1.5x', '23.8 сек', '13.9 сек', '6.7 сек', '3.9 сек'],
|
|
87
|
+
['APS-C Canon', '1.6x', '22.3 сек', '13.0 сек', '6.3 сек', '3.7 сек'],
|
|
88
|
+
['Micro 4/3', '2.0x', '17.9 сек', '10.4 сек', '5.0 сек', '2.9 сек'],
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
{ type: 'title', text: 'Модель NPF: Точность для современных камер', level: 2 },
|
|
92
|
+
{
|
|
93
|
+
type: 'paragraph',
|
|
94
|
+
html: 'Правило 500 появилось в эпоху пленки. Сегодня, с матрицами 24-60 Мп, пиксели настолько малы, что смаз заметен гораздо раньше. <strong>Модель NPF</strong>, разработанная Французским астрономическим обществом, добавляет в расчет диафрагму и размер пикселя: <code>t = (35×f + 30×p) / F</code>, где f - диафрагма, p - размер пикселя, а F - фокусное расстояние.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'tip',
|
|
98
|
+
title: 'Склонение: Секрет продвинутых фотографов',
|
|
99
|
+
html: 'Звезды рядом с <strong>небесным полюсом</strong> (Полярная звезда в северном полушарии) описывают на небе очень маленькие круги. Это значит, что они движутся по матрице очень медленно, позволяя делать выдержки в разы длиннее. Если вы снимаете область вокруг Полярной звезды, вы можете удвоить или утроить расчетное время без появления смаза. Склонение (Declination) показывает, насколько близко к полюсу находится ваш объект.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
type: 'stats',
|
|
103
|
+
columns: 2,
|
|
104
|
+
items: [
|
|
105
|
+
{ label: '500 Rule - 14mm FF', value: '35.7 сек', icon: 'mdi:timer' },
|
|
106
|
+
{ label: 'NPF - 14mm f/2.8 24MP', value: '~12 сек', icon: 'mdi:timer-sand' },
|
|
107
|
+
{ label: 'Коррекция Dec 60°', value: 'x2.0', icon: 'mdi:compass' },
|
|
108
|
+
{ label: 'Коррекция Dec 80°', value: 'x5.8', icon: 'mdi:compass' },
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
114
|
+
'@context': 'https://schema.org',
|
|
115
|
+
'@type': 'FAQPage',
|
|
116
|
+
mainEntity: faq.map((item) => ({
|
|
117
|
+
'@type': 'Question',
|
|
118
|
+
name: item.question,
|
|
119
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
120
|
+
})),
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
const howToSchema: WithContext<HowTo> = {
|
|
124
|
+
'@context': 'https://schema.org',
|
|
125
|
+
'@type': 'HowTo',
|
|
126
|
+
name: title,
|
|
127
|
+
description,
|
|
128
|
+
step: howTo.map((step) => ({
|
|
129
|
+
'@type': 'HowToStep',
|
|
130
|
+
name: step.name,
|
|
131
|
+
text: step.text,
|
|
132
|
+
})),
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
136
|
+
'@context': 'https://schema.org',
|
|
137
|
+
'@type': 'SoftwareApplication',
|
|
138
|
+
name: title,
|
|
139
|
+
description,
|
|
140
|
+
applicationCategory: 'UtilitiesApplication',
|
|
141
|
+
operatingSystem: 'Web',
|
|
142
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
143
|
+
inLanguage: 'ru',
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export const content: StarExposureCalculatorLocaleContent = {
|
|
147
|
+
slug,
|
|
148
|
+
title,
|
|
149
|
+
description,
|
|
150
|
+
ui,
|
|
151
|
+
seo,
|
|
152
|
+
faq,
|
|
153
|
+
bibliography,
|
|
154
|
+
howTo,
|
|
155
|
+
schemas: [faqSchema as any, howToSchema as any, appSchema],
|
|
156
|
+
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
---
|
|
2
|
-
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import { telescopeResolution } from './index';
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await telescopeResolution.i18n[locale]?.();
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
{content && <SharedBibliography links={content.bibliography} />}
|
|
1
|
+
---
|
|
2
|
+
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
+
import { telescopeResolution } from './index';
|
|
4
|
+
import type { KnownLocale } from '../../types';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
locale?: KnownLocale;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const { locale = 'es' } = Astro.props;
|
|
11
|
+
const content = await telescopeResolution.i18n[locale]?.();
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
{content && <SharedBibliography links={content.bibliography} />}
|