Skip to content

Commit

Permalink
Add comments.
Browse files Browse the repository at this point in the history
  • Loading branch information
KINTO-JP committed Dec 23, 2021
1 parent 4fa24b0 commit a96a057
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.1.2

* Resolve that more than 20% of public APIs are dartdoc comments.

## 0.1.1

* Resolve the failure of the pub.dev score.
Expand Down
4 changes: 4 additions & 0 deletions lib/ogp_data_extract.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
/// This library provides OgpData Parser for retrieving and parsing documents on a web page.
///
/// [OgpDataParser] is OgpData parser that takes in a [dom.Document].
/// Utility functions [execute] and [toDocument] help retrieving and decoding documents.
library ogp_data_extract;

export 'src/ogp_data_extract_base.dart';
Expand Down
1 change: 1 addition & 0 deletions lib/src/base_ogp_data_parser.dart
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ mixin BaseOgpDataParser {
}
}

/// Container class for OgpData.
class OgpData with BaseOgpDataParser, OgpDataKeys {
@override
String toString() {
Expand Down
2 changes: 2 additions & 0 deletions lib/src/ogp_data_extract_base.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import 'package:ogp_data_extract/utility/user_agent_client.dart';
import 'package:string_validator/string_validator.dart';

class OgpDataExtract {
/// returns [OgpData] from [url] and [userAgent].
static Future<OgpData?> execute(String url,
{String userAgent = 'bot'}) async {
if (!isURL(url)) {
Expand All @@ -24,6 +25,7 @@ class OgpDataExtract {
return OgpDataParser(document).parse();
}

/// returns [html.Document] from [http.Response].
static Document? toDocument(http.Response response) {
if (response.statusCode != 200) {
return null;
Expand Down
39 changes: 39 additions & 0 deletions lib/src/ogp_data_parser.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,120 +5,159 @@ class OgpDataParser with BaseOgpDataParser {
final Document? _document;
OgpDataParser(this._document);

/// Get [OgpData.url] from 'og:url'.
@override
String? get url => _getContent(property: 'og:url');

/// Get [OgpData.type] from 'og:type'.
@override
String? get type => _getContent(property: 'og:type');

/// Get [OgpData.title] from 'og:title'.
@override
String? get title => _getContent(property: 'og:title');

/// Get [OgpData.description] from 'og:description'.
@override
String? get description => _getContent(property: 'og:description');

/// Get [OgpData.image] from 'og:image'.
@override
String? get image => _getContent(property: 'og:image');

/// Get [OgpData.imageSecureUrl] from 'og:image:secure_url'.
@override
String? get imageSecureUrl => _getContent(property: 'og:image:secure_url');

/// Get [OgpData.imageType] from 'og:image:type'.
@override
String? get imageType => _getContent(property: 'og:image:type');

/// Get [OgpData.imageWidth] from 'og:image:width'.
@override
String? get imageWidth => _getContent(property: 'og:image:width');

/// Get [OgpData.imageHeight] from 'og:image:height'.
@override
String? get imageHeight => _getContent(property: 'og:image:height');

/// Get [OgpData.imageAlt] from 'og:image:alt'.
@override
String? get imageAlt => _getContent(property: 'og:image:alt');

/// Get [OgpData.siteName] from 'og:site_name'.
@override
String? get siteName => _getContent(property: 'og:site_name');

/// Get [OgpData.determiner] from 'og:determiner'.
@override
String? get determiner => _getContent(property: 'og:determiner');

/// Get [OgpData.locale] from 'og:locale'.
@override
String? get locale => _getContent(property: 'og:locale');

/// Get [OgpData.localeAlternate] from 'og:locale:alternate'.
@override
String? get localeAlternate => _getContent(property: 'og:locale:alternate');

/// Get [OgpData.latitude] from 'og:latitude'.
@override
String? get latitude => _getContent(property: 'og:latitude');

/// Get [OgpData.longitude] from 'og:longitude'.
@override
String? get longitude => _getContent(property: 'og:longitude');

/// Get [OgpData.streetAddress] from 'og:street-address'.
@override
String? get streetAddress => _getContent(property: 'og:street-address');

/// Get [OgpData.locality] from 'og:locality'.
@override
String? get locality => _getContent(property: 'og:locality');

/// Get [OgpData.region] from 'og:region'.
@override
String? get region => _getContent(property: 'og:region');

/// Get [OgpData.postalCode] from 'og:postal-code'.
@override
String? get postalCode => _getContent(property: 'og:postal-code');

/// Get [OgpData.countryName] from 'og:country-name'.
@override
String? get countryName => _getContent(property: 'og:country-name');

/// Get [OgpData.email] from 'og:email'.
@override
String? get email => _getContent(property: 'og:email');

/// Get [OgpData.phoneNumber] from 'og:phone_number'.
@override
String? get phoneNumber => _getContent(property: 'og:phone_number');

/// Get [OgpData.faxNumber] from 'og:fax_number'.
@override
String? get faxNumber => _getContent(property: 'og:fax_number');

/// Get [OgpData.video] from 'og:video'.
@override
String? get video => _getContent(property: 'og:video');

/// Get [OgpData.videoSecureUrl] from 'og:video:secure_url'.
@override
String? get videoSecureUrl => _getContent(property: 'og:video:secure_url');

/// Get [OgpData.videoHeight] from 'og:video:height'.
@override
String? get videoHeight => _getContent(property: 'og:video:height');

/// Get [OgpData.videoWidth] from 'og:video:width'.
@override
String? get videoWidth => _getContent(property: 'og:video:width');

/// Get [OgpData.videoType] from 'og:video:type'.
@override
String? get videoType => _getContent(property: 'og:video:type');

/// Get [OgpData.audio] from 'og:audio'.
@override
String? get audio => _getContent(property: 'og:audio');

/// Get [OgpData.audioSecureUrl] from 'og:audio:secure_url'.
@override
String? get audioSecureUrl => _getContent(property: 'og:audio:secure_url');

/// Get [OgpData.audioTitle] from 'og:audio:title'.
@override
String? get audioTitle => _getContent(property: 'og:audio:title');

/// Get [OgpData.audioArtist] from 'og:audio:artist'.
@override
String? get audioArtist => _getContent(property: 'og:audio:artist');

/// Get [OgpData.audioAlbum] from 'og:audio:album'.
@override
String? get audioAlbum => _getContent(property: 'og:audio:album');

/// Get [OgpData.audioType] from 'og:audio:type'.
@override
String? get audioType => _getContent(property: 'og:audio:type');

/// Get [OgpData.fbAdmins] from 'fb:admins'.
@override
String? get fbAdmins => _getContent(property: 'fb:admins');

/// Get [OgpData.fbAppId] from 'fb:app_id'.
@override
String? get fbAppId => _getContent(property: 'fb:app_id');

/// Get [OgpData.twitterCard] from 'twitter:card'.
@override
String? get twitterCard => _getContent(property: 'twitter:card');

/// Get [OgpData.twitterSite] from 'twitter:site'.
@override
String? get twitterSite => _getContent(property: 'twitter:site');

Expand Down
1 change: 1 addition & 0 deletions lib/utility/user_agent_client.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:http/http.dart' as http;

/// The class to set user-agent for Http.
class UserAgentClient extends http.BaseClient {
final String userAgent;
final http.Client _client;
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: ogp_data_extract
description: A new Flutter package project for extracting ogp data on web pages.
version: 0.1.1
homepage: https://github.com/KINTO-JP
version: 0.1.2
homepage: https://github.com/KINTO-JP/ogp_data_extract

environment:
sdk: ">=2.12.0 <3.0.0"
Expand Down

0 comments on commit a96a057

Please sign in to comment.